- auth: Supabase-JWT lokal verifizieren (hono/jwt, HS256) statt GoTrue-
Roundtrip pro Request; JWT_SECRET in cms-env, Remote-Fallback wenn ungesetzt
- dialog: comment_stats-View (group by thread) ersetzt Full-Table-Scan +
JS-Aggregation bei jedem Forum-Aufruf
- ops: scripts/backup-db.sh (pg_dump, rotiert) + täglicher Cron im Proxmox-
Script — Dialog-Daten liegen nur in Postgres, nicht in Git
- security: Rate-Limit auf Schreib-Endpunkte (/api non-GET, 60/min je Nutzer)
- perf: Cache-Control (1 Woche) auf statische Assets, HTML bleibt frisch
Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>
- ADMIN_EMAILS (.env) = Admins, sehen/bearbeiten alles
- Autor:innen sehen nur Einträge mit ihrer Mail unter `authors:`; Ersteller wird
beim Anlegen automatisch Autor
- Kollaboration: Feld „Autor:innen" im Editor → mehrere Mails = gemeinsamer Zugriff
- API erzwingt Zugriff bei list/read/save (403 ohne Recht)
- ADMIN_EMAILS in compose + LXC-Script (fragt Admin-Mail ab)
Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>
public/ ist git-ignored und fehlt im frischen Clone — Entrypoint baut die
Hugo-Site einmal aus content/. Ausserdem: Script-Output stellt klar, dass
:8000 nur das API-Gateway ist (keine Web-UI).
Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>