Files
doing-it-website/WIKI-EXTERNAL-SETUP.md
2025-11-29 10:30:33 +01:00

3.4 KiB
Executable File

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:

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:

    # Beispiel: Quartz auf Port 3033 starten
    npx quartz build
    npx serve -s public -l 3033
    
  2. Docker-Netzwerk verbinden (optional):

    # 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:

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:
    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

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