FROM golang:1.25-bookworm AS builder RUN apt-get update && apt-get install -y --no-install-recommends gcc libc6-dev && rm -rf /var/lib/apt/lists/* WORKDIR /src COPY go.mod go.sum ./ RUN go mod download COPY cmd cmd COPY internal internal ENV CGO_ENABLED=1 ENV CGO_CFLAGS="-O2 -fstack-protector-strong -D_FORTIFY_SOURCE=2" ENV CGO_LDFLAGS="-Wl,-z,relro,-z,now" RUN go build -buildmode=pie -o /out/chessstars ./cmd/server FROM debian:bookworm-slim RUN mkdir -p /data COPY --from=builder /out/chessstars /usr/local/bin/chessstars ENV PORT=8080 ENV AUTH_DB_PATH=/data/auth.db ENV COURSES_DIR=/data/courses WORKDIR /data EXPOSE 8080 ENTRYPOINT ["/usr/local/bin/chessstars"]