# ChatGPT-Prompt: Firebase-Zugang für MetalCircle Den folgenden Prompt in einen neuen Chat kopieren. Keine Secret-Dateien mitgeben. ```text Hilf mir Schritt für Schritt, den serverseitigen Firebase-Zugang für MetalCircle im Entwicklungs-/Testbetrieb einzurichten. Verwende aktuelle offizielle Firebase-/Google-Cloud-Dokumentation und erkläre mir die Console-Bedienung. Ausgangslage: - Privates Projekt MetalCircle, Repository historisch kai/pingu-concerts. - Android: Capacitor 6, Package ID dauerhaft de.pinguholic.concerts. - Firebase-Anzeigename MetalCircle; die tatsächliche Projekt-ID muss ich prüfen. - Android-google-services.json ist vorhanden. Tokenregistrierung und manuelle Firebase-Testnachrichten/Kampagnen funktionieren bereits. - Backend: FastAPI, PostgreSQL, Docker Compose, firebase-admin Python 7.1.0. - Pushs für Freundschaftsanfragen, Direktnachrichten und Einladungen sind implementiert. Kategorien und DE/EN werden pro Empfänger beachtet; Nachrichteninhalt bleibt privat. - Versand ist standardmäßig deaktiviert und wurde mit simuliertem Firebase getestet. Bitte begleite mich bei: 1. Auswahl des Projekts und Ermittlung der tatsächlichen Projekt-ID. 2. Prüfung/Aktivierung der Firebase Cloud Messaging API HTTP v1. 3. Einem eigenen Test-Service-Account, z. B. metalcircle-push-test, mit den für FCM nötigen Rechten. Prüfe roles/firebasecloudmessaging.admin bzw. cloudmessaging.messages.create. Kein persönliches Admin-Konto verwenden. 4. Erstellung und sicherer Ablage der Service-Account-JSON außerhalb von Repository und Docker-Buildkontext. Nur der Betreiber soll die Datei lesen können. 5. Lokaler .env-Konfiguration: PUSH_ENABLED=true FIREBASE_PROJECT_ID= FIREBASE_SERVICE_ACCOUNT_FILE= 6. Start mit compose.yml plus compose.push.yml. Dieses Override mountet die Datei read-only unter /run/secrets/firebase-service-account.json und setzt im Backend GOOGLE_APPLICATION_CREDENTIALS auf diesen Pfad. Lokal HTTP: COOKIE_SECURE=false docker compose -f compose.yml -f compose.push.yml up -d --build web Auf einem HTTPS-Testserver bleibt COOKIE_SECURE=true. 7. End-to-End-Test mit zwei Testkonten: Anfrage, Nachricht, Veranstaltungseinladung, DE/EN, Kategorien, Antippen, Logout und Benutzerwechsel. Grenzen: - Niemals Schlüssel, Tokens, vollständige .env oder JSON-Inhalte im Chat anfordern. - google-services.json ist Client-Konfiguration, kein Backend-Service-Account. - Keine Legacy-Server-Keys und keine Admin-Credentials in der Android-App. - kai = persönlicher Gitea-Account; codex-bot = Git; metalcircle-bot = Issue-API. Keinen dieser Zugänge für Firebase verwenden. - PinguCore ist lokal. Cloud-Staging betreue ich separat. Kein automatischer Cloud-/Produktionszugriff oder Produktionsdeployment. - Test und Produktion bekommen getrennte Credentials. - Verbietet eine Organisationsrichtlinie JSON-Schlüssel, umgehe sie nicht. Erkläre die vorgesehenen Alternativen und welche Code-Anpassung nötig wäre. Frage zuerst nur nach der Ziel-Testumgebung und gehe dann schrittweise vor. Prüfe Ergebnisse anhand ungefährlicher Statusangaben, niemals Secret-Inhalte. ```