2.3 KiB
Lokaler Testbetrieb
Start unter Windows mit Docker Desktop:
powershell -NoProfile -ExecutionPolicy Bypass -File scripts/start-demo.ps1
Die Instanz verwendet die Produktionsimages auf http://localhost:3110, eine eigene PostgreSQL-Datenbank taskmanager_demo, eigene Docker-Volumes und das Compose-Projekt taskmanager-demo. Der Port ist ausschließlich auf Loopback erreichbar. .env.demo.local enthält zufällig erzeugte Secrets und das lokale DEMO_PASSWORD; diese Datei wird weder committed noch ins Image kopiert.
| Konto | Rechte |
|---|---|
| admin@example.test | Systemadministrator |
| technik@example.test | Bearbeiter in Haustechnik, eigener Aufgabenbestand und Teampool |
| verwaltung@example.test | Teamleitung ausschließlich Verwaltung |
Alle drei Konten verwenden das lokale DEMO_PASSWORD. Die Daten sind frei bearbeitbare Beispiele. Ein erneuter Start überschreibt bestehende Benutzer, Passwörter und Aufgaben nicht. Demo-Seeding verweigert jede andere Datenbank und verlangt DEMO_MODE=true.
Status und Protokolle:
$env:TASKMANAGER_ENV_FILE='.env.demo.local'
docker compose --project-name taskmanager-demo --env-file .env.demo.local -f docker-compose.yml -f docker-compose.demo.yml ps
docker compose --project-name taskmanager-demo --env-file .env.demo.local -f docker-compose.yml -f docker-compose.demo.yml logs --tail 100 app worker
Stoppen ohne Datenverlust:
$env:TASKMANAGER_ENV_FILE='.env.demo.local'
docker compose --project-name taskmanager-demo --env-file .env.demo.local -f docker-compose.yml -f docker-compose.demo.yml stop
Erneut starten ohne Neubau: powershell -NoProfile -ExecutionPolicy Bypass -File scripts/start-demo.ps1 -SkipBuild.
Konsistentes Backup (stoppt Web/Worker kurz, startet zuvor laufende Dienste anschließend wieder):
powershell -NoProfile -ExecutionPolicy Bypass -File scripts/backup.ps1 -Project taskmanager-demo -EnvFile .env.demo.local -Demo
Das Backup enthält PostgreSQL-Dump, private Dateien und SHA-256-Prüfsummen im ignorierten Verzeichnis backups. Secrets sind separat zu sichern. Für produktiven Betrieb eigene Domain/HTTPS, eigene Konten, sichere externe Backup-Aufbewahrung und die tatsächlich verwendeten Integrationen konfigurieren; siehe SECURITY.md.