121 lines
3.4 KiB
Markdown
Executable File
121 lines
3.4 KiB
Markdown
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:
|
|
|
|
```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
|
|
|