30 lines
3.1 KiB
Markdown
30 lines
3.1 KiB
Markdown
# 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 und Pre-Production erforderlich |
|
|
| `INITIAL_ADMIN_PASSWORD` | Passwort des Erstadmins | lokal und Pre-Production erforderlich, geheim |
|
|
| `INITIAL_ADMIN_EMAIL` | E-Mail des Erstadmins | lokal und Pre-Production 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.
|
|
|
|
Pre-Production verwendet ausschließlich `/home/kai/.config/metalcircle/preprod.env` über `--env-file`; die Checkout-`.env` ist dafür keine Konfigurationsquelle mehr. Vorlage: `config/preprod.env.example`. Alle PostgreSQL-/Initial-Admin-/Gitea-Werte sowie `COOKIE_SECURE`, `PUSH_ENABLED`, `FIREBASE_PROJECT_ID` und `FIREBASE_SERVICE_ACCOUNT_FILE` sind dort verpflichtend. Env und Firebase-Key: Eigentümer Deployment-Benutzer, Modus 600 (oder 400), außerhalb des Checkouts. Die automatische Env-Sicherung hält zehn Kopien in einem privaten externen Verzeichnis. Details und Migration: [Deployment](Deployment.md).
|
|
|
|
`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.
|