Bug: ELEVENLABS_API_KEY + ELEVENLABS_VOICE_ID waren zwar in der .env
gesetzt, aber das environment-Block der Compose-Files hat sie nicht
in den Container weitergereicht. Effekt:
- Auf dev wirkte die Tour mit ElevenLabs-Stimme — aber nur weil 23
fertige MP3s im data/tour_audio-Cache lagen (vom fruehen Test-Run).
Neue Stationen waeren auf Browser-TTS gefallen.
- Auf prod gab es keinen Cache und keinen API-Key im Container —
die Tour lief komplett auf Browser-TTS.
Fix: ELEVENLABS_API_KEY, ELEVENLABS_VOICE_ID, ELEVENLABS_MODEL_ID
ins environment-Block beider Compose-Files. Default-Voice bleibt
Domi (AZnzlk1XvdvUeBnXmlld), Model bleibt eleven_multilingual_v2.
Wenn ENV `DEBUG_AUTH_TOKEN` gesetzt ist, akzeptieren require_auth +
require_admin einen Header `X-Debug-Token: <secret>` oder einen
Query-Param `?__debug_token=<secret>` und liefern einen Admin-Mock-
User. Jeder Use wird mit logger.warning protokolliert.
Default: leer = inaktiv (auch in prod, weil prod-compose das nicht
durchreicht).
Damit kann ein Diagnose-Tool (Playwright, curl) ohne Keycloak-Login
auf admin-only-Endpoints zugreifen — fuer Browser-Console-Auswertung
bei UI-Bugs.
Co-Authored-By: Claude Opus 4.7 (1M context) <noreply@anthropic.com>
Container-Duplikation fuer v1.x-Entwicklung:
- docker-compose.dev.yml: eigener Container gwoe-antragspruefer-dev,
Traefik-Host gwoe-dev.toppyr.de, Keycloak-Client gwoe-antragspruefer-dev,
ohne SMTP (Mail aus Dev = gar nicht), GITEA_FEEDBACK_LABELS=feedback,dev.
- scripts/deploy.sh: Branch-Guard verhindert Prod-Deploy aus main; Prod
geht nur aus release/1.0 (oder mit --force).
Dev-Server zieht main per Cron alle 5 Minuten und baut neu.