# 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"]