# syntax=docker/dockerfile:1 # ---- build stage ---------------------------------------------------------- # Compass / NHS — its own image, built from source. FROM golang:1.25-alpine AS build WORKDIR /src RUN apk add --no-cache git COPY go.mod go.sum ./ RUN go mod download COPY . . ARG VERSION=dev RUN CGO_ENABLED=0 GOOS=linux go build \ -trimpath \ -ldflags "-s -w -X main.version=${VERSION}" \ -o /out/school ./cmd/school # ---- runtime stage -------------------------------------------------------- FROM alpine:3.21 RUN apk add --no-cache ca-certificates tzdata wget \ && addgroup -g 10002 -S school \ && adduser -S -D -H -u 10002 -G school school \ && mkdir -p /data && chown school:school /data USER school WORKDIR /app COPY --from=build /out/school /app/school EXPOSE 8792 VOLUME ["/data"] ENTRYPOINT ["/app/school"]