Der Workflow bricht weiter mit ENOSPC ab, jetzt in beiden npm-Stufen
gleichzeitig nach 8,2 Sekunden - der Datentraeger ist praktisch voll.
- prisma-cli baut auf deps statt auf base auf. Damit laufen die beiden
npm-Installationen nacheinander statt parallel, was den gleichzeitigen
Platzbedarf halbiert. Die deps-Schicht liegt ohnehin vor.
- Der Workflow protokolliert vor dem Bauen Belegung, Inodes und
docker system df. ENOSPC heisst auch "keine Inodes frei", was df -h
nicht zeigt - beim naechsten Fehlschlag stehen die Zahlen im Log.
- Ungenutzter Build-Cache aelter als 24h wird vor dem Bauen freigegeben.
Jeder abgebrochene Versuch hinterlaesst sonst Schichten und macht es
beim naechsten Mal enger. Betrifft nur Cache, keine Images, Volumes
oder Container.
Geprueft: Image baut mit serialisierten Stufen, Container startet,
Migrationen laufen, Healthcheck gruen.
Co-Authored-By: Claude Opus 5 <noreply@anthropic.com>
Der Workflow scheiterte mit ENOSPC auf dem Runner. Ursache ist der
volle Datentraeger dort, nicht der Build - was wir beitragen koennen:
- 46 der 54 Inter-Schriftdateien waren unbenutzt. Nur die acht in
app/layout.tsx referenzierten Schnitte bleiben: 18 MB -> 2 MB.
- npm-Cache wird in derselben Schicht entfernt, in der er entsteht.
- data/policies aus dem Docker-Kontext genommen; die Datensaetze
stehen in der Datenbank, die JSON-Ablage ist reiner Nachweis.
Ausserdem im Dockerfile: Eine frühere Bearbeitung hatte ein echtes
Steuerzeichen CR in das sed-Muster geschrieben statt der Escape-Folge.
Es funktionierte, war aber unlesbar - jetzt wieder 's/\r$//'.
Geprueft: Image baut, Container startet, alle acht Schriftschnitte
werden ausgeliefert.
Co-Authored-By: Claude Opus 5 <noreply@anthropic.com>
- trustHost für Auth.js: selbst gehostet wird der Host sonst mit
UntrustedHost abgelehnt und die Anmeldung schlägt fehl
- Prisma-CLI in eigener Stage installieren; im Standalone-Bundle fehlen
seine transitiven Abhängigkeiten, `migrate deploy` brach beim Start ab
- Zeilenenden des Entrypoints im Image normalisieren
Getestet: Container startet, wendet Migrationen an, Anmeldung und
Admin-Bereich antworten mit 200.
Co-Authored-By: Claude Opus 5 <noreply@anthropic.com>
Next.js 15 App Router mit öffentlicher Übersicht und geschütztem
Admin-Bereich zur Pflege von Datenschutzerklärungen nach Art. 12ff. DSGVO.
- Oberfläche auf Basis von shadcn/ui, Inter lokal eingebunden
- Prisma/SQLite, Auth.js mit Credentials-Provider und Rollen
- Massenimport der Merkblätter des Amtes Leezen aus PDF
- Docker-Image (standalone) und Gitea-Workflow zur Veröffentlichung
Co-Authored-By: Claude Opus 5 <noreply@anthropic.com>