# syntax = docker/dockerfile:1 ARG GO_VERSION=1.22.1 FROM docker.io/library/golang:${GO_VERSION} as builder WORKDIR /app COPY --link go.mod . RUN go mod download COPY --link . . # RUN go vet ./... ENV ENV=production RUN go run ./cmd/build ENV GOOS=linux GOARCH=amd64 CGO_ENABLED=0 RUN go build server.go # Final stage for app image FROM gcr.io/distroless/static WORKDIR /app # Copy built application COPY --link config.toml . COPY --from=builder /app/server server # Start the server by default, this can be overwritten at runtime EXPOSE 3000 EXPOSE 9091 ENV ENV=production CMD [ "/app/server" ]