feat: v9.8.1 pre-built Docker images and GHCR release workflow

Setup.py now asks whether to pull pre-built images from GHCR
(recommended) or build from source. Pre-built mode skips the
15-minute compile step entirely.

- Add .github/workflows/release.yml (builds+pushes 4 images on tag)
- Add docker-compose.build.yml (source-build overlay)
- Switch docker-compose.prod.yml from build: to image: refs
- Add --build-mode CLI arg and wizard step to setup.py
- Bump version to 9.8.1 across all files
- Document TOD_VERSION env var in CONFIGURATION.md

Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
This commit is contained in:
Jason Staack
2026-03-22 18:33:12 -05:00
parent 0c1ffe0e39
commit b1ac1cce24
11 changed files with 250 additions and 27 deletions

28
docker-compose.build.yml Normal file
View File

@@ -0,0 +1,28 @@
# docker-compose.build.yml -- Build-from-source override
#
# Adds build contexts so Docker Compose builds images locally instead of
# pulling pre-built images from GHCR.
#
# Usage:
# docker compose -f docker-compose.yml -f docker-compose.prod.yml \
# -f docker-compose.build.yml --env-file .env.prod up -d --build
services:
api:
build:
context: .
dockerfile: infrastructure/docker/Dockerfile.api
poller:
build:
context: ./poller
dockerfile: ./Dockerfile
frontend:
build:
context: .
dockerfile: infrastructure/docker/Dockerfile.frontend
winbox-worker:
build:
context: ./winbox-worker