added quartz external wiki

This commit is contained in:
2025-11-29 10:30:33 +01:00
parent b10f224a7b
commit 9be0af25f7
14 changed files with 824 additions and 62 deletions

159
WIKI-404-FIX.md Executable file
View File

@@ -0,0 +1,159 @@
# Wiki 404 Error - Fix Dokumentation
## Problem
Beim Klick auf den Wiki-Link in der Navbar erscheint ein 404-Fehler auf https://doing-it.de/wiki
## Implementierte Fixes
### 1. Root-API-Route hinzugefügt
- **Datei**: `app/api/wiki/route.ts`
- Behandelt direkte Aufrufe zu `/api/wiki` ohne weiteren Pfad
- Wichtig für das iframe, das `/api/wiki/` lädt
### 2. Verbessertes Error-Handling
- Logging für alle Requests
- 10 Sekunden Timeout für Wiki-Service-Requests
- Bessere Fehlermeldungen mit Status-Codes
### 3. URL-Handling verbessert
- Keine doppelten Slashes mehr
- Korrekte Query-Parameter-Weiterleitung
### 4. Next.js 15 Compatibility
- Async params in Catch-All-Route
- Verbesserte Type-Sicherheit
### 5. Fehleranzeige in Wiki-Seite
- Zeigt Fehlermeldung, falls Wiki nicht lädt
- Button zum Neuladen der Seite
## Mögliche Ursachen des 404-Fehlers
### 1. Wiki-Service läuft nicht
**Prüfung:**
```bash
docker-compose ps
docker-compose logs wiki
```
**Lösung:**
```bash
docker-compose up -d wiki
```
### 2. Wiki-Service nicht erreichbar über Docker-Netzwerk
**Prüfung:**
```bash
docker-compose exec web curl http://wiki:8080/
```
**Lösung:**
- Stelle sicher, dass beide Services im gleichen Docker-Netzwerk sind
- Prüfe `docker-compose.yml` - beide Services sollten dort definiert sein
### 3. Environment-Variable falsch gesetzt
**Prüfung:**
```bash
docker-compose exec web printenv WIKI_SERVICE_URL
```
**Sollte sein:** `http://wiki:8080`
**Lösung:** In `docker-compose.yml` hinzufügen:
```yaml
web:
environment:
- WIKI_SERVICE_URL=http://wiki:8080
```
### 4. API-Route nicht deployed
**Prüfung:**
- Prüfe, ob `app/api/wiki/route.ts` im Deployment vorhanden ist
- Prüfe Next.js Build-Logs
**Lösung:**
- Stelle sicher, dass die Datei committed ist
- Rebuild des Next.js Images: `docker-compose build web`
### 5. Production Dockerfile verwendet
**Prüfung:**
```bash
# Prüfe, welches Dockerfile verwendet wird
cat docker-compose.yml | grep dockerfile
```
**Lösung:**
- Stelle sicher, dass in Produktion auch die richtige Dockerfile verwendet wird
- Oder passe die Production-Dockerfile an
## Debugging-Schritte
### Schritt 1: Services prüfen
```bash
docker-compose ps
```
Sollte zeigen:
- `web` - Status: Up
- `wiki` - Status: Up
### Schritt 2: Wiki-Service-Logs prüfen
```bash
docker-compose logs wiki --tail=50
```
Suche nach Fehlermeldungen oder "Build complete"
### Schritt 3: API-Route direkt testen
```bash
curl https://doing-it.de/api/wiki/
```
Oder im Browser: `https://doing-it.de/api/wiki/`
Sollte HTML zurückgeben, nicht 404.
### Schritt 4: Internen Service-Zugriff testen
```bash
docker-compose exec web curl http://wiki:8080/
```
Sollte HTML zurückgeben.
### Schritt 5: Next.js Logs prüfen
```bash
docker-compose logs web --tail=100 | grep -i wiki
```
Suche nach Fehlermeldungen wie "Wiki proxy error"
## Quick Fix
Falls das Problem weiterhin besteht, versuche:
```bash
# 1. Alle Services neu starten
docker-compose down
docker-compose up -d --build
# 2. Logs beobachten
docker-compose logs -f
# 3. Prüfen ob beide Services laufen
docker-compose ps
```
## Wichtig für Produktion
1. **Stelle sicher, dass beide Services im docker-compose.yml sind**
2. **Stelle sicher, dass WIKI_SERVICE_URL gesetzt ist**
3. **Stelle sicher, dass die API-Routes im Build enthalten sind**
4. **Prüfe die Next.js Build-Logs auf Warnungen**
## Alternative: Direkter Link (Fallback)
Falls das iframe weiterhin Probleme macht, kann die Wiki-Seite so geändert werden, dass sie direkt auf `/api/wiki` verlinkt statt ein iframe zu verwenden. Dies erfordert eine Änderung in `app/wiki/page.tsx`.
## Nächste Schritte nach Deployment
1. ✅ API-Routes aktualisiert
2. ✅ Error-Handling verbessert
3. ⏳ Services neu starten
4. ⏳ Logs prüfen
5. ⏳ Testen auf https://doing-it.de/wiki