FROM golang as builder ARG GIT_COMMIT ENV GIT_COMMIT=$GIT_COMMIT WORKDIR /http-sms COPY go.mod . COPY go.sum . RUN go mod download COPY . . RUN go get github.com/swaggo/swag/gen@latest RUN go get github.com/swaggo/swag/cmd/swag@latest RUN go install github.com/swaggo/swag/cmd/swag RUN swag init --requiredByDefault --parseDependency --parseInternal RUN CGO_ENABLED=0 GOOS=linux GOARCH=amd64 go build -ldflags "-X main.Version=$GIT_COMMIT" -o /bin/http-sms . FROM alpine:latest RUN addgroup -S http-sms && adduser -S http-sms -G http-sms USER http-sms WORKDIR /home/http-sms COPY --from=builder /usr/local/go/lib/time/zoneinfo.zip /zoneinfo.zip COPY --from=builder /bin/http-sms ./ COPY --from=builder /http-sms/root.crt ./ ENV ZONEINFO=/zoneinfo.zip EXPOSE 8000 ENTRYPOINT ["./http-sms", "--dotenv=false"]