taskmanager/TESTBETRIEB.md

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.