# Plausible Analytics Konfiguration ## Übersicht Die App verwendet Plausible Analytics für anonyme Nutzungsstatistiken. Die Konfiguration erfolgt über Umgebungsvariablen. ## Konfiguration ### Erforderliche Variablen **Nur eine Variable ist erforderlich:** 1. **`NEXT_PUBLIC_PLAUSIBLE_SCRIPT_SRC`** (erforderlich) - Die vollständige URL zum Plausible-Script - Beispiel (selbst gehostet): `https://plausible.elpatron.me/js/script.js` - Beispiel (extern): `https://plausible.io/js/script.js` **Hinweis:** Die Domain wird automatisch aus der Request-Domain erkannt. Beide Domains (`hoerdle.de` und `hördle.de`) werden automatisch getrackt. ### Konfiguration für Docker Da es sich um **Build-Time Variablen** handelt (NEXT_PUBLIC_*), muss die App neu gebaut werden, wenn diese geändert werden. #### Schritt 1: Umgebungsvariablen setzen Erstelle oder bearbeite eine `.env`-Datei im Projektverzeichnis: ```bash # Plausible Analytics (Script-URL ist erforderlich) NEXT_PUBLIC_PLAUSIBLE_SCRIPT_SRC=https://plausible.elpatron.me/js/script.js # Die Domain wird automatisch erkannt - keine weitere Konfiguration nötig! ``` #### Schritt 2: docker-compose.yml konfigurieren Stelle sicher, dass die Variablen als Build-Args übergeben werden: ```yaml services: hoerdle: build: context: . dockerfile: Dockerfile args: NEXT_PUBLIC_PLAUSIBLE_SCRIPT_SRC: ${NEXT_PUBLIC_PLAUSIBLE_SCRIPT_SRC} ``` Die `docker-compose.example.yml` enthält bereits diese Konfiguration. #### Schritt 3: App neu bauen **WICHTIG:** Nach Änderung der Plausible-Variablen muss die App neu gebaut werden: ```bash docker compose build --no-cache docker compose up -d ``` Oder mit dem Deploy-Script: ```bash ./scripts/deploy.sh ``` ### Konfiguration für beide Domains Die App unterstützt **automatisches Tracking** für beide Domains (`hoerdle.de` und `hördle.de`). Die Domain wird automatisch aus dem Request-Header ausgelesen und entsprechend in Plausible getrackt. #### Automatisches Domain-Tracking **Standard-Verhalten:** Die App erkennt automatisch, welche Domain aufgerufen wurde, und setzt die entsprechende `data-domain` im Plausible-Script: - `https://hoerdle.de/*` → `data-domain="hoerdle.de"` - `https://hördle.de/*` → `data-domain="hördle.de"` #### In Plausible konfigurieren Du hast zwei Optionen: ##### Option 1: Beide Domains als separate Sites (separate Statistiken) - Empfohlen für getrenntes Tracking 1. Erstelle in Plausible zwei separate Sites: - `hoerdle.de` - `hördle.de` 2. Fertig! Die App trackt automatisch die richtige Domain. **Vorteil:** Separate Statistiken für jede Domain. ##### Option 2: Beide Domains als Aliase für eine Site (gemeinsame Statistiken) 1. Erstelle in Plausible eine Site: `hoerdle.de` 2. Füge `hördle.de` als Alias hinzu (in den Site-Einstellungen) 3. Fertig! Die App trackt automatisch die richtige Domain, und Plausible behandelt beide als Aliase für die gleiche Site. **Hinweis:** Du musst nichts zusätzlich konfigurieren. Die App trackt automatisch `hoerdle.de` oder `hördle.de` basierend auf der Request-Domain, und Plausible erkennt beide als Aliase. **Vorteil:** Gemeinsame Statistiken für beide Domains in einer Site. #### Empfehlung Für separate Statistiken: **Option 1** (automatisches Tracking) Für gemeinsame Statistiken: **Option 2** (Aliase in Plausible) ### Automatische CSP-Anpassung Die Content Security Policy (CSP) in `proxy.ts` wird automatisch an die konfigurierte Plausible-URL angepasst. Die Domain wird automatisch aus der Script-URL extrahiert. ### Prüfen der Konfiguration Nach dem Neubau kannst du prüfen, ob Plausible korrekt geladen wird: 1. **Browser-Entwicklertools öffnen** - Network-Tab: Suche nach dem Plausible-Script - Console: Prüfe auf Fehler 2. **Prüfe die Meta-Tags** ```html ``` 3. **Prüfe Plausible-Dashboard** - Öffne dein Plausible-Dashboard - Prüfe, ob Daten ankommen ### Troubleshooting #### Plausible wird nicht geladen - Prüfe, ob die Umgebungsvariablen korrekt gesetzt sind - Prüfe, ob die App neu gebaut wurde (Build-Time Variablen!) - Prüfe Browser-Console auf CSP-Fehler #### CSP blockiert Plausible Die CSP sollte automatisch angepasst werden. Falls Probleme auftreten: - Prüfe, ob `NEXT_PUBLIC_PLAUSIBLE_SCRIPT_SRC` korrekt gesetzt ist - Prüfe die Logs des Containers #### Daten werden nicht in Plausible angezeigt - Prüfe, ob die Domain in Plausible als Site konfiguriert ist - Prüfe, ob `data-domain` Attribut mit der konfigurierten Domain übereinstimmt - Prüfe Browser-Console auf Fehler beim Laden des Scripts ### Beispiel-Konfiguration #### Für selbst gehostetes Plausible: ```bash NEXT_PUBLIC_PLAUSIBLE_SCRIPT_SRC=https://plausible.elpatron.me/js/script.js ``` #### Für Plausible.io (extern): ```bash NEXT_PUBLIC_PLAUSIBLE_SCRIPT_SRC=https://plausible.io/js/script.js ``` **Hinweis:** Die Domain wird automatisch aus der Request-Domain erkannt - keine weitere Konfiguration nötig! ### Weitere Informationen - [Plausible Dokumentation](https://plausible.io/docs) - [Plausible Self-Hosting](https://plausible.io/docs/self-hosting)