ai cooking
1# Multi-stage build for careme service
2# Stage 1: build
3FROM golang:1.26-alpine AS builder
4WORKDIR /src
5ARG CMD_PATH=./cmd/careme
6# Enable module cache
7COPY go.mod go.sum ./
8RUN go mod download
9COPY . .
10# Build static binary (no CGO)
11RUN CGO_ENABLED=0 GOOS=linux GOARCH=amd64 go build -ldflags="-s -w" -o /out/app ${CMD_PATH}
12
13# Stage 2: minimal runtime image
14FROM gcr.io/distroless/static:nonroot
15WORKDIR /workspace
16COPY --from=builder /out/app /app
17# Copy CA certs (distroless already has them, included for clarity)
18# COPY --from=builder /etc/ssl/certs/ca-certificates.crt /etc/ssl/certs/
19EXPOSE 8080
20USER nonroot
21ENTRYPOINT ["/app"]