FROM golang:1.25.6 AS builder WORKDIR /app ENV CGO_ENABLED=0 ENV GIN_MODE=release COPY go.mod go.sum ./ RUN go mod download COPY . . RUN go build -ldflags "-s -w" -o backend ./cmd/main.go FROM alpine:3.23.0 RUN adduser -D appuser && apk add --no-cache curl COPY --from=builder /app/backend . RUN chown appuser:appuser ./backend USER appuser EXPOSE 8080 HEALTHCHECK CMD curl --fail http://localhost:8080/health || exit 1 CMD ["./backend"]