From 1f38b7b48f26919451dcf9444165086d913b9108 Mon Sep 17 00:00:00 2001 From: tobi <31960611+tsmethurst@users.noreply.github.com> Date: Wed, 26 Feb 2025 21:12:26 +0100 Subject: [PATCH] [chore] Remove duplicate swagger docs build in Dockerfile (#3842) * [chore] Use vendored swagger in Docker container * skip the swagger step altogether actually, it's already done by goreleaser anyway --- Dockerfile | 23 +++-------------------- 1 file changed, 3 insertions(+), 20 deletions(-) diff --git a/Dockerfile b/Dockerfile index 7b7728a53..184be41cd 100644 --- a/Dockerfile +++ b/Dockerfile @@ -1,24 +1,7 @@ # syntax=docker/dockerfile:1.3 # Dockerfile reference: https://docs.docker.com/engine/reference/builder/ -# stage 1: generate up-to-date swagger.yaml to put in the final container -FROM --platform=${BUILDPLATFORM} golang:1.23-alpine AS swagger - -RUN \ - ### Installs goswagger for building swagger definitions inside this container - go install "github.com/go-swagger/go-swagger/cmd/swagger@c46c303aaa02" && \ - # Makes swagger executable - chmod +x /go/bin/swagger - -COPY go.mod /go/src/github.com/superseriousbusiness/gotosocial/go.mod -COPY go.sum /go/src/github.com/superseriousbusiness/gotosocial/go.sum -COPY cmd /go/src/github.com/superseriousbusiness/gotosocial/cmd -COPY internal /go/src/github.com/superseriousbusiness/gotosocial/internal - -WORKDIR /go/src/github.com/superseriousbusiness/gotosocial -RUN /go/bin/swagger generate spec -o /go/src/github.com/superseriousbusiness/gotosocial/swagger.yaml --scan-models - -# stage 2: generate the web/assets/dist bundles +# stage 1: generate the web/assets/dist bundles FROM --platform=${BUILDPLATFORM} node:18-alpine AS bundler COPY web web @@ -27,7 +10,7 @@ RUN yarn --cwd ./web/source install && \ yarn --cwd ./web/source build && \ rm -rf ./web/source -# stage 3: build the executor container +# stage 2: build the executor container FROM --platform=${TARGETPLATFORM} alpine:3.20 as executor # switch to non-root user:group for GtS @@ -50,7 +33,7 @@ COPY --chown=1000:1000 gotosocial /gotosocial/gotosocial # copy over the web directories with templates, assets etc COPY --chown=1000:1000 --from=bundler web /gotosocial/web -COPY --chown=1000:1000 --from=swagger /go/src/github.com/superseriousbusiness/gotosocial/swagger.yaml web/assets/swagger.yaml +COPY --chown=1000:1000 ./web/assets/swagger.yaml /gotosocial/web/assets/swagger.yaml VOLUME [ "/gotosocial/storage", "/gotosocial/.cache" ] ENTRYPOINT [ "/gotosocial/gotosocial", "server", "start" ]