# Base ARG GO_VERSION=1.21 FROM golang:${GO_VERSION} as build WORKDIR /app COPY go.mod go.sum ./ RUN go mod download COPY . . RUN CGO_ENABLED=0 GOOS=linux go build -o /server cmd/server.go # Get curl FROM tarampampam/curl AS curl # Production FROM gcr.io/distroless/static-debian12 as release ENV PORT=1234 EXPOSE 1234 COPY --from=curl /bin/curl /bin/curl HEALTHCHECK --interval=5s --timeout=2s --retries=2 --start-period=2s CMD [ \ "curl", "--fail", "http://127.0.0.1:1234/healthz" \ ] COPY --from=build /server /server ENV DATABASE_MIGRATIONS=file:///app/migrations COPY --from=build /app/migrations /app/migrations USER nonroot:nonroot ENTRYPOINT ["/server"]