added quartz external wiki
This commit is contained in:
120
WIKI-EXTERNAL-SETUP.md
Executable file
120
WIKI-EXTERNAL-SETUP.md
Executable file
@@ -0,0 +1,120 @@
|
||||
# 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
|
||||
|
||||
Reference in New Issue
Block a user