# Wiki Externe Instanz Setup ## Übersicht Das Wiki läuft jetzt als separate Instanz auf Port 3033 und wird direkt im iframe eingebunden. Dies erfordert keine Docker-Compose-Integration mehr. ## Konfiguration ### Umgebungsvariable Die Wiki-URL kann über die Umgebungsvariable `NEXT_PUBLIC_WIKI_URL` konfiguriert werden: **Standard:** `http://localhost:3033` ### Lokale Entwicklung In der lokalen Entwicklung wird automatisch `http://localhost:3033` verwendet. ### Produktion Für die Produktion kann die URL in `docker-compose.yml` oder über eine `.env`-Datei gesetzt werden: ```yaml environment: - NEXT_PUBLIC_WIKI_URL=http://localhost:3033 ``` Oder in einer `.env.local` Datei: ``` NEXT_PUBLIC_WIKI_URL=http://localhost:3033 ``` ## Docker-Netzwerk Setup ### Separate Quartz-Instanz auf dem Server 1. **Quartz-Instanz starten** auf Port 3033: ```bash # Beispiel: Quartz auf Port 3033 starten npx quartz build npx serve -s public -l 3033 ``` 2. **Docker-Netzwerk verbinden** (optional): ```bash # Netzwerk erstellen docker network create wiki-network # Quartz-Container an Netzwerk anhängen docker network connect wiki-network your-quartz-container # Next.js Container an Netzwerk anhängen docker network connect wiki-network doing-it-web-container ``` 3. **URL anpassen** falls nötig: - Falls Quartz in einem Container läuft: `http://quartz-container-name:3033` - Falls Quartz direkt auf dem Host läuft: `http://host.docker.internal:3033` (Docker Desktop) - Falls Quartz extern läuft: `http://localhost:3033` oder absolute URL ## Docker Compose Anpassung Der Wiki-Service in `docker-compose.yml` ist jetzt optional. Falls Sie die separate Instanz verwenden: 1. **Wiki-Service auskommentieren** (bereits erledigt in `depends_on`) 2. Oder **Wiki-Service komplett entfernen** aus docker-compose.yml, falls nicht mehr benötigt ### Optionale Wiki-Service Entfernung Falls Sie den Wiki-Service komplett aus docker-compose.yml entfernen möchten: ```yaml services: web: # ... bleibt gleich # depends_on und WIKI_SERVICE_URL können entfernt werden # wiki: Service kann komplett entfernt werden ``` ## Testing 1. **Quartz-Instanz starten** auf Port 3033 2. **Next.js starten**: ```bash docker-compose up -d web ``` 3. **Wiki-Seite öffnen**: `http://localhost:3001/wiki` 4. **Prüfen**: iframe sollte das Wiki von `http://localhost:3033` laden ## Vorteile ✅ **Einfachere Wartung**: Quartz kann separat verwaltet werden ✅ **Unabhängige Skalierung**: Wiki und Website können unabhängig skaliert werden ✅ **Einfachere Updates**: Quartz kann ohne Neustart der Website aktualisiert werden ✅ **Flexibilität**: Wiki kann auch extern gehostet werden ## Troubleshooting ### Problem: iframe lädt nicht **Lösung 1:** Prüfen ob Quartz auf Port 3033 läuft ```bash curl http://localhost:3033 ``` **Lösung 2:** CORS-Header prüfen - Quartz sollte CORS-Header erlauben - Oder Next.js als Proxy verwenden (alte Lösung) **Lösung 3:** URL anpassen - Prüfen ob `NEXT_PUBLIC_WIKI_URL` korrekt gesetzt ist - Für Container: `host.docker.internal:3033` verwenden ### Problem: Wiki nicht erreichbar aus Container **Lösung:** - `host.docker.internal:3033` statt `localhost:3033` verwenden - Oder Docker-Netzwerk verwenden