further rework to the documentation

This commit is contained in:
Codex Agent
2025-11-20 12:31:21 +01:00
parent 6afa44d947
commit 9afcaa7836
90 changed files with 1721 additions and 29 deletions

View File

@@ -0,0 +1,131 @@
---
title: Betriebshandbuch & Ops-Startseite
sidebar_label: Betriebshandbuch
slug: /
---
Willkommen im Betriebshandbuch von Fotospiel. Dieses Dokument ist der Einstiegspunkt für alle, die die Plattform betreiben: InfrastrukturOps, OnCall, Support mit erweiterten Rechten und ProduktOwner, die Auswirkungen von Änderungen verstehen möchten.
Ziel ist, dass du von hier aus schnell zu den relevanten Runbooks und Referenzen springen kannst.
## 1. Systemübersicht & Verantwortlichkeiten
- **Rollen & Verantwortlichkeiten**
- Wer ist für welche Ebene zuständig? (AppVerfügbarkeit, Infrastruktur, Sicherheit, Abrechnung, Support.)
- Empfehlung: definiere mindestens _OnCall_, _PlattformOps_ und _Support (2nd Level)_ als feste Rollen diese Seite ist für alle drei.
- **Systemlandschaft (HighLevel)**
- Laravel App + Nginx + Redis + MySQL.
- AsyncPipeline: Queues (`default`, `media-storage`, `media-security`, `notifications`) und Horizon.
- Satelliten: PhotoboothFTP + ControlService, DocsSite (`/internal-docs`), Monitoring/Dokploy.
- Externe Dienste: Paddle (Billing), RevenueCat (MobileAbos), EMail Provider, Logging/Monitoring (Loki/Grafana o.ä.).
> TODO: Ergänze ein Architekturdiagramm aus Sicht des Betriebs (z.B. als PNG oder PlantUML) und verlinke es hier.
## 2. Deployments & Infrastruktur
Diese Kapitel erklären, wie die Plattform in Docker/Dokploy betrieben wird.
- **Docker-Deployment (ComposeStack)**
- `docs/ops/deployment/docker.md` Referenz für `docker-compose.yml`, Services, Volumes, Migrations und SchedulerSetup.
- **Dokploy-Deployment (PaaS)**
- `docs/ops/deployment/dokploy.md` Wie die gleichen Services als DokployComposeStacks betrieben werden, inkl. SuperAdminIntegration.
- **Join-Token-Analytics & Public API**
- `docs/ops/deployment/join-token-analytics.md` Konfiguration der AnalyticsPfade für JoinTokens.
- `docs/ops/deployment/public-api-incident-playbook.md` Runbook für PublicAPIStörungen (RateLimits, Abuse, Outages).
- **Lokale Podman/Dev-URLs**
- `docs/ops/deployment/lokale-podman-adressen.md` Übersicht über lokale Services/Ports bei PodmanSetups.
Fragen zur Infrastruktur (Netzwerk, TLS, DNS, Backups) sollten immer zuerst gegen diese Dokumente geprüft werden.
## 3. Queues, Storage & Medien-Pipeline
Fotos sind das Herz des Produkts entsprechend wichtig ist ein klarer Blick auf die MedienPipeline.
- **Queues & Worker**
- `docs/ops/queue-workers.md` Wie die WorkerContainer (`queue`, `media-storage-worker`, `media-security-worker`, `notifications`) gestartet, skaliert und überwacht werden.
- **Media Storage & Archivierung**
- `docs/ops/media-storage-spec.md` Detaillierte Beschreibung, wie Uploads in den „hot“Storage laufen, wie `event_media_assets` gepflegt werden und wie ArchiveJobs funktionieren.
- **Upload-Gesundheit & Notifications**
- `docs/ops/guest-notification-ops.md` Runbook für das NotificationCenter, PushRegistrierung und UploadHealthAlerts.
> TODO: Ergänze ein zentrales „Storage & Queues Monitoring“-Kapitel mit konkreten Schwellenwerten und Alarmierung (z.B. Einbindung von Horizon, RedisMonitoring, Log-Channels).
## 4. Photobooth-Pipeline
Die PhotoboothIntegration hat eigene Betriebsanforderungen:
- `docs/ops/photobooth/README.md` Überblick über PhotoboothSetup und Datenfluss.
- `docs/ops/photobooth/control_service.md` SteuerAPI (UserProvisionierung, Credentials, RateLimits).
- `docs/ops/photobooth/ops_playbook.md` Operatives Playbook für Aktivierung, Fehleranalyse und IncidentResponse rund um PhotoboothUploads.
> Prüfe vor großen Events mit gebuchten Photobooths diese Playbooks und stelle sicher, dass Volumes, Credentials und Scheduler korrekt konfiguriert sind.
## 5. Störungs- & Incident-Runbooks
Die folgenden Dokumente sind deine erste Anlaufstelle im IncidentFall:
- **Major Incidents & Eskalation**
- `docs/ops/incidents-major.md` genereller Rahmen (SEVLevels, Triage, Kommunikation, Postmortems) und Verweise auf die spezifischen Runbooks unten.
- **Public API Störungen**
- `docs/ops/deployment/public-api-incident-playbook.md` SchrittfürSchrittPlan bei Missbrauch, Fehlerspitzen oder Ausfällen der öffentlichen APIs.
- **Upload-/Medien-Probleme**
- `docs/ops/media-storage-spec.md` Referenz, welche Queues/Jobs beteiligt sind und wie man Fehlerzustände erkennt (z.B. lange „pending“-Assets, gescheiterte Archivierung).
- `docs/ops/guest-notification-ops.md` UploadAlerts und Gastbenachrichtigungen.
- **Photobooth-Incidents**
- `docs/ops/photobooth/ops_playbook.md` Vorgehen bei ausfallendem FTP, IngestFehlern oder Sicherheitsvorfällen (Credentials).
Zusätzlich gibt es kurze „Howto“-Runbooks für häufige Supportfälle:
- `docs/ops/howto-tenant-package-not-active.md` Zahlung erfolgreich, Paket nicht aktiv.
- `docs/ops/howto-guest-upload-failing.md` Gäste können nicht hochladen.
- `docs/ops/howto-photobooth-no-photos.md` PhotoboothUploads landen nicht im Event.
- `docs/ops/howto-dsgvo-delete-photo.md` DSGVOLöschung eines konkreten Fotos.
> TODO: Ergänze ein allgemeines „Major Incident“Kapitel (SEV1/2 Definition, Kommunikationskanäle, Vorlagen) und verlinke es hier.
## 6. Prozesse, Roadmap & Änderungen
Der Betreiber muss wissen, welche größeren Änderungen anstehen oder kürzlich live gegangen sind.
- **Prozess-Hub**
- `docs/process/README.md` erklärt Struktur von `changes/`, `todo/` und `roadmap.md`.
- **Roadmap & Epics**
- `docs/process/roadmap.md` Überblick über aktive Epics (z.B. Security Hardening, PaddleMigration, StreamingUploads) und kürzlich abgeschlossene Themen.
- `docs/process/todo/security-hardening-epic.md` SecurityHardeningPlan mit Bezug zu Ops (Signierte URLs, AV/EXIF, MonitoringWorkstreams).
- PaddleThemen: `docs/process/todo/paddle-migration.md`, `docs/process/todo/paddle-catalog-sync.md`.
- **Changes & Retro-Notizen**
- `docs/process/changes/*` SessionNotizen, RefactorPläne und Lessons Learned (z.B. CheckoutRefactor, RegistrierungFixes).
Als Betreiber lohnt es sich, bei größeren Deployments kurz in `roadmap.md` und den passenden `changes/*` zu schauen, um Seiteneffekte zu antizipieren.
## 7. Tests, Qualität & Releases
Stabile Releases sind Grundvoraussetzung für ruhigen Betrieb:
- **E2E-Tests & Qualität**
- `docs/testing/e2e.md` beschreibt, welche EndtoEndTests existieren und wie sie als SmokeSuite für Releases verwendet werden können.
- **Release-Prozess (Entwurf)**
- `docs/ops/releases.md` Checkliste für CIPipelines, StagingDeploy, ProdRollout, SmokeTests und RollbackÜberlegungen.
## 8. Nächste Schritte für das Betriebshandbuch
Die folgenden Kapitel sind als eigenständige Runbooks angelegt und sollten mit der Zeit weiter gefüllt werden:
- **Rollen & On-Call-Handbuch**
- `docs/ops/oncall-roles.md` definiert PlatformOps, OnCall, Support und Produktrollen sowie Eskalationswege.
- **On-Call Cheat Sheet**
- `docs/ops/oncall-cheatsheet.md` schnelle Übersicht über wichtige Kommandos, Logs und Dashboards für Incidents.
- **Support & Eskalation**
- `docs/ops/support-escalation-guide.md` beschreibt, welche Informationen Support von Kunden einsammeln sollte, bevor an Ops eskaliert wird.
- **Backup & Restore / Disaster Recovery**
- `docs/ops/backup-restore.md` Was gesichert werden muss, RestoreSzenarien und DRÜbungen.
- **DSGVO & Compliance-Operationen**
- `docs/ops/compliance-dsgvo-ops.md` Praktische Abläufe für Auskunfts/Löschanfragen, Retention und Dokumentation.
- **Billing & Zahlungs-Operationen**
- `docs/ops/billing-ops.md` Umgang mit Zahlungsproblemen, WebhookFehlern und PaketInkonsistenzen.
- **Monitoring & Observability**
- `docs/ops/monitoring-observability.md` Welche Signale, Metriken und Alerts es geben sollte.
- **Architektur-Diagramme**
- `docs/ops/diagrams.md` MermaidDiagramme für MediaPipeline und Checkout/BillingFlow.
Das Betriebshandbuch bleibt damit ein lebendes Dokument. Neue Runbooks sollten unter `docs/ops/` entstehen und hier verlinkt werden, damit Operatoren einen klaren Einstiegspunkt behalten.