# Build the server as a static binary with the client embedded in it, then ship
# it on a minimal base. The result is one file with no runtime dependencies.
FROM golang:1.26-alpine AS build
WORKDIR /src
COPY go.mod go.sum ./
RUN go mod download
COPY . .
RUN CGO_ENABLED=0 go build -trimpath -ldflags="-s -w" -o /out/arcade ./cmd/arcade

FROM gcr.io/distroless/static-debian12
COPY --from=build /out/arcade /arcade
EXPOSE 8080
USER nonroot:nonroot
ENTRYPOINT ["/arcade"]
