910 B
Executable File
910 B
Executable File
ADR-006: Multi-Stage-Docker-Build statt Clone-on-Start
Datum: 2026-07-15 · Status: Akzeptiert
Kontext
Der frühere bootstrap.sh klonte bei JEDEM Container-Start main und installierte ungepinnte pip-Pakete: unreproduzierbar, ungetesteter Stand konnte durch bloßen Neustart live gehen; forge_client.py wurde dabei sogar vergessen (Feature in Prod defekt).
Entscheidung
Multi-Stage-Dockerfile (rust:1-slim-bookworm → debian:bookworm-slim,
USER nobody, HEALTHCHECK). deploy/docker-compose.yml baut per build: aus
dem geklonten Quellstand; Neustart startet exakt das gebaute Image.
Konsequenzen
- Reproduzierbare, testbare Deployments; Rollback = altes Image/älterer Commit. − Update erfordert bewussten Build (~3 min auf SRV1361746) — gewollt. − postgres:16-alpine wird beibehalten (pgdata-Kompatibilität); Major-Upgrade wäre ein eigener Change mit pg_upgrade/dump+restore.