Commit Graph

5 Commits

Author SHA1 Message Date
Weapie
265ca8ac38 Improve accessibility and access controls; verify production and database recovery
All checks were successful
Container-Image bauen und veröffentlichen / build-and-push (push) Successful in 5m15s
2026-09-14 11:44:41 +02:00
Weapie
150fd3878c Build-Spitzenbedarf halbieren und Platz im Log sichtbar machen
All checks were successful
Container-Image bauen und veröffentlichen / build-and-push (push) Successful in 2m22s
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>
2026-09-08 12:09:55 +02:00
Weapie
faaf0862bf Build-Kontext verkleinern und Dockerfile bereinigen
Some checks failed
Container-Image bauen und veröffentlichen / build-and-push (push) Failing after 16s
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>
2026-09-08 11:58:32 +02:00
Weapie
1f9543efd8 Docker-Image produktionsreif machen
All checks were successful
Container-Image bauen und veröffentlichen / build-and-push (push) Successful in 2m40s
- 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>
2026-09-07 16:32:45 +02:00
Weapie
328f042307 Syncova Policies: Portal für DSGVO-Datenschutzerklärungen
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>
2026-09-07 16:23:51 +02:00