Serve the stack from this repository's Compose files instead of the Co-op
Cloud recipe on the host, add the docs wiki as a first-class service, and
update the pinned images.
- Add a `wiki` service (wiki/Dockerfile, MkDocs Material 9.7.7 -> nginx)
routed at WIKI_HOST, in both the base and production compose files.
- Traefik v2.11 -> v3.7.14 (v2.11 reached end of security support
2026-09-07); web image nginx 1.31.7-alpine and alpine 3.24.
- `captionninja` (dc1094f): relay on Node 24 LTS. `caption-local` (5bee28c):
GPU image on CUDA 12.9.2.
- `.env.production`: production hostnames for *.captions.dev.autonomic.zone.
- Docs (README, AGENTS, CONFIGURATION) and CHANGELOG updated for the wiki
service, the new hostnames and the image bumps.
- web/: nginx image with the captionninja pages only (no relay source or
secrets), templated by RELAY_URL / CAPTURE_URL / RELAY_UPSTREAM, serving
/site-config.js, refusing dotfiles, and downloading translation models
(SHA-256 verified) into a volume on start-up. Replaces nginx.conf and the
bind mount of the whole captionninja checkout, which served
captionninja/relay/.caption-ninja-relay.private.json publicly.
- Relay private JSON default moved to secrets/relay.private.json.
- Submodule bumps (shallow clones):
caption-local 709fe68: private-only relay auto-fill, RELAY_SITE, no dev
hostnames, Firefox sample-rate fallback.
captionninja 891947c, fc01952, e39bbaa: overlay XSS fix, site-config.js
for links.html, translation models no longer committed.
- Docs and changelog updated.