build(quick-261009-p0m): Laufzeitabbilder ohne Entwicklungswerkzeuge
- api: eigene Stufe prod-deps (nur Betriebsabhaengigkeiten, Prisma-Client dort erzeugt), Laufzeitstufe direkt von node:24-alpine - api und web: npm, npx, corepack und yarn des Node-Abbilds entfernt - api-Abbild 1,59 auf 1,12 GB; Fundzahl 3 kritisch/45 hoch auf 0 kritisch/6 hoch - Beleg: Start gegen frische Datenbank (63 Migrationen), Rauchtests am neuen Stack - Sicherheitsprotokoll, Betriebs- und Entwicklungsanleitung, CHANGELOG Co-Authored-By: Claude Opus 5.5 (1M context) <noreply@anthropic.com>
This commit is contained in:
@@ -410,6 +410,14 @@ protokolliert die durchgelaufenen Prisma-Migrationen sowie zuletzt
|
||||
Kanal und Kurzkennung des Standes, der gerade läuft (siehe Kapitel 9). Erst danach
|
||||
startet `web`, weil `depends_on: api: condition: service_healthy` das erzwingt.
|
||||
|
||||
**Befehle im Container:** Die Container von `api` und `web` enthalten keine Paketverwaltung
|
||||
(kein npm, pnpm, npx oder yarn) und keine Entwicklungswerkzeuge – das Abbild trägt nur, was zum
|
||||
Laufen nötig ist (und ist dadurch beim Server-Abbild deutlich kleiner; Näheres im
|
||||
[Sicherheitsprotokoll](sicherheitsprotokoll.md)). Befehle im Container laufen deshalb direkt mit
|
||||
`node`, zum Beispiel `docker compose exec api node -e "console.log('ok')"`. Ein Befehl wie
|
||||
`docker compose exec api pnpm …` oder `… npm …` funktioniert nicht mehr. Die Migrationen führt
|
||||
weiterhin das Startskript aus (Kapitel 5), dafür müssen Sie nichts von Hand tun.
|
||||
|
||||
| Symptom | Wahrscheinliche Ursache | Prüfen / Beheben |
|
||||
|---|---|---|
|
||||
| `docker compose up` bricht sofort ab, ohne dass ein Container startet, mit einer Meldung zu `TESSERA_ENCRYPTION_KEY` | Variable fehlt in `.env` – Compose selbst verweigert die Variablen-Interpolation (`${TESSERA_ENCRYPTION_KEY:?...}`) | `TESSERA_ENCRYPTION_KEY` setzen (siehe Kapitel 2), danach erneut starten. |
|
||||
|
||||
Reference in New Issue
Block a user