103 lines
3.2 KiB
Markdown
103 lines
3.2 KiB
Markdown
|
|
# PROJECT_CONTEXT – rd13_tile_server
|
|||
|
|
|
|||
|
|
**Letzte Aktualisierung:** 2026-06-03 – Planet-Download läuft, Martin konfiguriert
|
|||
|
|
|
|||
|
|
---
|
|||
|
|
|
|||
|
|
## 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:v1.10.1`
|
|||
|
|
- **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: **noch nicht gestartet** (warte auf Download)
|
|||
|
|
- Download `data/osm.mbtiles`: 🔄 ~67% (64/94 GB) – läuft in tmux-Session `rd13-download`
|
|||
|
|
|
|||
|
|
### Vorhandene Daten in `/data/`
|
|||
|
|
| Datei/Ordner | Status |
|
|||
|
|
|---|---|
|
|||
|
|
| `osm.mbtiles` | 🔄 Download läuft (~64 GB, fertig in ~30 Min) |
|
|||
|
|
| `fonts/` | ✅ installiert |
|
|||
|
|
| `styles/` | ✅ vorhanden |
|
|||
|
|
| `satellite.mbtiles` | ❌ noch nicht heruntergeladen |
|
|||
|
|
|
|||
|
|
### Git-Stand
|
|||
|
|
- Branch: `main`
|
|||
|
|
- Letzter Commit: `df8518d` – copilot-instructions aktualisiert
|
|||
|
|
- Alle Änderungen gepusht
|
|||
|
|
|
|||
|
|
---
|
|||
|
|
|
|||
|
|
## Nächste Schritte (für nächsten Agenten)
|
|||
|
|
|
|||
|
|
1. **Download prüfen:**
|
|||
|
|
```bash
|
|||
|
|
tail -3 logs/download-osm.log
|
|||
|
|
ls -lh data/osm.mbtiles # sollte ~94 GB haben wenn fertig
|
|||
|
|
```
|
|||
|
|
|
|||
|
|
2. **Martin starten:**
|
|||
|
|
```bash
|
|||
|
|
docker compose up -d
|
|||
|
|
curl http://localhost:9982/health
|
|||
|
|
curl http://localhost:9982/catalog # sollte osm anzeigen
|
|||
|
|
```
|
|||
|
|
|
|||
|
|
3. **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'
|
|||
|
|
```
|
|||
|
|
|
|||
|
|
4. **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)
|
|||
|
|
|
|||
|
|
---
|
|||
|
|
|
|||
|
|
## Offene Aufgaben
|
|||
|
|
|
|||
|
|
- [ ] Download abwarten und Martin starten
|
|||
|
|
- [ ] Satellit-Download (optional)
|
|||
|
|
- [ ] NPM-Konfiguration (manuell)
|
|||
|
|
- [ ] Hook-Verteilung auf alle Repos (install-hooks.sh)
|
|||
|
|
- [ ] Martin mit echten Tiles testen
|