FROM golang:1.25-alpine3.21 AS builder WORKDIR /opt COPY go.mod go.sum ./ RUN go mod download && go mod verify COPY . ./ RUN CGO_ENABLED=0 go build -o bin/application ./cmd FROM alpine:3.21 AS runner RUN addgroup -S app && adduser -S app -G app WORKDIR /opt COPY --from=builder --chown=app:app /opt/bin/application ./ USER app COPY --from=builder /opt/bin/application ./ CMD ["./application"]