# resume — runtime image (Phase 3 §3.2).
#
# Built by deploy/deploy.sh from a release directory, with the prebuilt static
# Go binary already in place. No Go toolchain, no network and no package install
# at build time: the image is `alpine` + the release payload, nothing else.
#
# The binary must be statically linked (deploy.sh's fallback build sets
# CGO_ENABLED=0). If the app ever needs cgo, change the base image to a glibc
# one (e.g. golang:1.25-bookworm) in git — do not patch it on the host.

FROM alpine:3.21

ARG APP_VERSION=dev
LABEL org.opencontainers.image.title="resume" \
      org.opencontainers.image.version="${APP_VERSION}" \
      org.opencontainers.image.description="Sam Rolfe — portfolio site (Mode A static)"

WORKDIR /srv

# bin/server plus whatever the build emitted (dist/ for rendered pages/assets).
COPY . /srv/

ENV PORT=8096 \
    APP_VERSION=${APP_VERSION}

EXPOSE 8096

ENTRYPOINT ["/srv/bin/server"]
