# syntax=docker/dockerfile:1.7
# Dialectic.Backend.Go — multi-stage build (compile static binary, run on distroless).

FROM golang:1.23-bookworm AS build
WORKDIR /src
COPY go.mod go.sum ./
RUN go mod download
COPY . .
ARG VERSION=dev
RUN CGO_ENABLED=0 GOOS=linux go build \
    -ldflags="-s -w -X main.Version=${VERSION}" \
    -o /out/dialectic-backend .

FROM gcr.io/distroless/static-debian12:nonroot
WORKDIR /app
COPY --from=build /out/dialectic-backend /app/dialectic-backend
EXPOSE 8090
USER nonroot:nonroot
ENTRYPOINT ["/app/dialectic-backend"]
