FROM golang:1.24-bookworm AS build WORKDIR /src COPY go.mod go.sum* ./ RUN go mod download COPY . . RUN go install github.com/pressly/goose/v3/cmd/goose@v3.24.3 RUN CGO_ENABLED=0 GOOS=linux go build -trimpath -ldflags="-s -w" -o /out/recommendation-api ./cmd/api FROM gcr.io/distroless/static-debian12:nonroot WORKDIR /app COPY --from=build /out/recommendation-api /app/recommendation-api COPY --from=build /go/bin/goose /app/goose COPY migrations /app/migrations COPY docs /app/docs EXPOSE 8080 ENTRYPOINT ["/app/recommendation-api"]