96 lines
3.2 KiB
Markdown
96 lines
3.2 KiB
Markdown
# PROJECT_CONTEXT – rd13_tile_server
|
||
|
||
**Letzte Aktualisierung:** 2026-06-10 – Martin laeuft healthy, WebUI aktiv, MediaWiki-Integration vorbereitet
|
||
|
||
---
|
||
|
||
## Projektziel
|
||
|
||
Selbst gehosteter Tile Server auf Basis von **Martin** (Rust), der für MediaWiki,
|
||
Nextcloud, Home Assistant und andere Dienste Vektorkarten bereitstellt.
|
||
|
||
---
|
||
|
||
## Stack
|
||
|
||
- **Tile Server:** `ghcr.io/maplibre/martin:latest`
|
||
- **Port:** 9982 extern → 3000 intern
|
||
- **Proxy:** NPM (Nginx Proxy Manager) extern – kein nginx-Sidecar
|
||
- **Daten:** MBTiles/PMTiles in `/data/`
|
||
- **Git Remote:** `ssh://git@192.168.178.6:2222/cschulz/rd13_tile_server.git`
|
||
|
||
---
|
||
|
||
## Aktueller Zustand
|
||
|
||
### Laufende Services
|
||
- Martin-Container: **laeuft** und ist **healthy**
|
||
- WebUI: **aktiviert** ueber `--webui enable-for-all`
|
||
|
||
### Vorhandene Daten in `/data/`
|
||
| Datei/Ordner | Status |
|
||
|---|---|
|
||
| `osm.mbtiles` | ✅ wird von Martin erkannt (Source `osm`) |
|
||
| `fonts/` | ✅ installiert |
|
||
| `styles/` | ✅ vorhanden |
|
||
| `satellite.mbtiles` | ❌ noch nicht heruntergeladen |
|
||
|
||
### Git-Stand
|
||
- Branch: `main`
|
||
- Letzter Commit: `0a5f6cd` - WebUI aktiviert und MediaWiki-Integration vorbereitet
|
||
- Noch offen (lokal): `docs/mediawiki-config.php`
|
||
|
||
---
|
||
|
||
## Nächste Schritte (fuer naechsten Agenten)
|
||
|
||
1. **MediaWiki-Repo anpassen und committen:**
|
||
- Kartographer-Block in LocalSettings auf tile server URL setzen
|
||
- Testseite mit `mapframe`/`maplink` anlegen
|
||
|
||
2. **Satellit-Download starten** (optional, ~10 GB, Zoom 0–10):
|
||
```bash
|
||
tmux new-session -d -s rd13-sat -c /mnt/services-data/rd13_tile_server \
|
||
'python3 scripts/download-satellite.py data/satellite.mbtiles 2>&1 | tee logs/satellite.log'
|
||
```
|
||
|
||
3. **NPM konfigurieren** (manuell im NPM UI):
|
||
- Proxy Host: `http://HOST:9982`
|
||
- Advanced Config: `add_header Cache-Control "public, max-age=86400, stale-while-revalidate=3600" always;`
|
||
|
||
---
|
||
|
||
## Bekannte Fallstricke
|
||
|
||
- `data/tmp/` und `data/sources/` werden von Docker als `root` erstellt → `sudo rm -rf` nötig
|
||
- Planetiler braucht sehr viel Disk (87 GB sources + 264 GB tmp + ~70 GB output = ~420 GB)
|
||
→ **Nicht mehr nötig**, wir nutzen OpenFreeMap MBTiles direkt
|
||
- Fish Shell unterstützt kein heredoc `<< 'EOF'` → Python `open().write()` oder `tee` verwenden
|
||
- Download von OpenFreeMap: `wget --continue` für Resume-Support bei Abbruch
|
||
|
||
---
|
||
|
||
## Erledigte Aufgaben
|
||
|
||
- [x] Git-Repo initialisiert und auf Forgejo gepusht
|
||
- [x] Migration TileServer-GL → Martin
|
||
- [x] nginx-Sidecar entfernt (NPM extern)
|
||
- [x] Port auf 9982 geändert
|
||
- [x] copilot-instructions auf aktuelles Template aktualisiert
|
||
- [x] download-data.sh + download-satellite.py erstellt
|
||
- [x] History-System (post-commit Hook + _session.md Konvention) in rd13_copilot_setup implementiert
|
||
- [x] Docs für MediaWiki, Nextcloud, Home Assistant erstellt
|
||
- [x] Planet-MBTiles Download gestartet (OpenFreeMap, 94 GB)
|
||
- [x] Martin WebUI aktiviert (`--webui enable-for-all`)
|
||
- [x] Endpunkte verifiziert (`/health`, `/catalog`, Root 200)
|
||
- [x] MediaWiki-Kartographer Doku in `docs/mediawiki-config.php` erweitert
|
||
|
||
---
|
||
|
||
## Offene Aufgaben
|
||
|
||
- [ ] MediaWiki-Repo umstellen und dort committen
|
||
- [ ] Satellit-Download (optional)
|
||
- [ ] NPM-Konfiguration (manuell)
|
||
- [ ] Hook-Verteilung auf alle Repos (install-hooks.sh)
|
||
- [ ] Martin mit Satellit-Daten testen
|