2 Commits
Author SHA1 Message Date
msolarczekandClaude Opus 4.8 f368d8fadd Fix: Fonts selbst hosten (next/font/local) + Bootstrap an Superadmin-Store anpassen
- next/font/google lud Open Sans/Poppins zur Build-Zeit von Google -> flakiger
  'Failed to fetch from Google Fonts' bricht den Prod-Build ab. Jetzt committete
  woff2 (src/app/fonts) via next/font/local -> reproduzierbarer Offline-Build, DSGVO.
- scripts/bootstrap-admin.ts: provisionTenant nimmt kein isPlatformAdmin mehr; der
  Superadmin ist jetzt das eigene Modell platformAdmin (Login /platform/login, MFA).
  Bootstrap legt Mandant+Mandanten-Admin UND platformAdmin an (idempotent).
- node:22-Docker-Build lokal verifiziert (kompiliert + TypeCheck + Routen).

Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>
2026-07-27 22:32:52 +02:00
msolarczekandClaude Opus 4.8 cc8d48698f Feat: Prod-Bootstrap (Erst-Superadmin) + Contabo-Runbook
- scripts/bootstrap-admin.ts: legt ersten Plattform-Admin + Mandant via
  provisionTenant(isPlatformAdmin) an; idempotent, per Env gesteuert. Ersetzt in
  Prod den Demo-Seed. tsx-@/-Auflösung lokal verifiziert.
- docker-compose.coolify.yml: migrate-Job führt bei BOOTSTRAP_ADMIN=true das Skript
  nach der Migration aus; BOOTSTRAP_*-Vars durchgereicht.
- .env.prod.example: Prod-Env-Referenz (HTTPS, kein Demo-Seed, Bootstrap-Vars).
- docs/DEPLOY-PROD-CONTABO.md: Runbook (VPS-Härtung/Swap, Coolify+Gitea, DNS/TLS
  app.certvia.de, Deploy, Bootstrap, Backups, Go-Live-Checkliste).

Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>
2026-07-27 13:44:34 +02:00