# 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` - Uncommitted (vor diesem Update): `config/martin.yaml`, `docker-compose.yml`, `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