# Configuration | Variable | Zweck | Status | |---|---|---| | `POSTGRES_DB` | Name der PostgreSQL-Datenbank | erforderlich | | `POSTGRES_USER` | Datenbankbenutzer | erforderlich | | `POSTGRES_PASSWORD` | Datenbankpasswort | erforderlich, geheim | | `INITIAL_ADMIN_USERNAME` | Erstes Admin-Konto | lokal erforderlich | | `INITIAL_ADMIN_PASSWORD` | Passwort des Erstadmins | lokal erforderlich, geheim | | `INITIAL_ADMIN_EMAIL` | E-Mail des Erstadmins | lokal erforderlich | | `COOKIE_SECURE` | Secure-Flag der Session-Cookies | Produktion `true` | | `GITEA_URL` | interne Gitea-Basisadresse | für Bugreporter erforderlich | | `GITEA_TOKEN` | Token des `metalcircle-bot` | erforderlich, geheim | | `GITEA_OWNER` | Repository-Owner, aktuell `kai` | erforderlich | | `GITEA_REPO` | Repository, aktuell `pingu-concerts` | erforderlich | | `PUSH_ENABLED` | Hintergrundversand und neue Versandaufträge aktivieren | optional, Standard `false` | | `FIREBASE_PROJECT_ID` | tatsächliche Firebase-Projekt-ID | bei aktiviertem Versand erforderlich | | `FIREBASE_SERVICE_ACCOUNT_FILE` | absoluter Host-Pfad zur privaten Service-Account-Datei | für `compose.push.yml` erforderlich | | `GOOGLE_APPLICATION_CREDENTIALS` | Containerpfad zur Service-Account-Datei | durch `compose.push.yml` gesetzt | | `METALCIRCLE_SERVER_URL` | HTTPS-Adresse für die Android-WebView | beim Capacitor-Sync; Standard ist die aktuelle Pre-Production https://konzerte.pinguholic.de/ | | `METALCIRCLE_LOCAL_TEST` | Android-HTTP-Ausnahme ausschließlich für localhost | nur lokale Tests `1`, Pre-Production `0` | | `ALPHA_TESTER_UNTIL` | inklusive Alpha-Registrierungsgrenze | Standard `2026-10-31` | | `BETA_TESTER_UNTIL` | inklusive Beta-Registrierungsgrenze, nach Alpha | Standard `2026-12-31` | `.env.example` enthält nur Platzhalter. `.env` wird nie committed. `google-services.json` liegt ausschließlich lokal im Android-App-Modul und wird durch `.gitignore` ausgeschlossen. `compose.preprod.yml` verwendet dieselben Push-Variablen und denselben Credential-Mount, setzt `PUSH_ENABLED=true` sowie `COOKIE_SECURE=true` und verlangt eine Projekt-ID. Der Host-Pfad muss zum eigenen Pre-Production-Key zeigen. Siehe [Pre-Production Deployment](Firebase.md#pre-production-deployment), einschließlich Offline-Prüfung gegen den erwarteten Service Account und Abschaltung ohne das aktivierende Override. Die Android-Variablen sind Build-/Sync-Einstellungen und werden nicht aus der Backend-`.env` an die APK übertragen.