This compose file is only used on the production server to pull and
run the pre-built image, not to build it locally.
Co-Authored-By: Claude Sonnet 5 <noreply@anthropic.com>
Adds image: alongside build: so `docker compose build && push` works
locally, while the server can just `docker compose pull && up -d`
without needing the Dockerfile/build context. .env.example now
documents each variable and adds HOST_PORT.
Co-Authored-By: Claude Sonnet 5 <noreply@anthropic.com>
Links now live in data/links.json instead of hardcoded HTML, editable
via /admin (add/rename/reorder/delete sections and links, per-link
color and half-width side-by-side layout). New pages can be added
without code changes. Docker image only needs rebuilding on code
changes now, not on content changes (data/ is volume-mounted).
Co-Authored-By: Claude Sonnet 5 <noreply@anthropic.com>