Page:
Firebase Setup Prompt
Pages
Android App
Architecture
Backup and Recovery
Badges and Patches
Comments and Community
Concerts
Configuration
Database
Deployment
Development Setup
Firebase Setup Prompt
Firebase
Gitea Workflow
Home
Issues and Bug Reporting
Photos and Uploads
Push Notifications
Roadmap
Security
Troubleshooting
Users and Profiles
Venues
Clone
1
Firebase Setup Prompt
MetalCircle Codex Bot edited this page 2026-09-15 08:32:12 +02:00
Table of Contents
ChatGPT-Prompt: Firebase-Zugang für MetalCircle
Den folgenden Prompt in einen neuen Chat kopieren. Keine Secret-Dateien mitgeben.
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=<echte Projekt-ID>
FIREBASE_SERVICE_ACCOUNT_FILE=<absoluter Pfad zur Secret-Datei>
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.