3.7 KiB
3.7 KiB
PROJECT_CONTEXT – rd13_tile_server
Letzte Aktualisierung: 2026-06-10 – Martin laeuft healthy, WebUI aktiv, MediaWiki integriert, Rate-Limiting-Anforderung aufgenommen
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)
-
REQ-002 Rate Limiting im NPM UI eintragen (manuell):
- Proxy-Host:
https://tile.rd13server.de→http://HOST:9982 - Advanced Config: Rate-Limiting-Block aus
docs/requirements/REQUIREMENTS.mdeinfügen - NPM Access List „LAN" für
/und/cataloganlegen
- Proxy-Host:
-
Satellit-Download starten (optional, ~10 GB, Zoom 0–10):
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' -
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;
- Proxy Host:
Bekannte Fallstricke
data/tmp/unddata/sources/werden von Docker alsrooterstellt →sudo rm -rfnö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'→ Pythonopen().write()oderteeverwenden - Download von OpenFreeMap:
wget --continuefür Resume-Support bei Abbruch
Erledigte Aufgaben
- Git-Repo initialisiert und auf Forgejo gepusht
- Migration TileServer-GL → Martin
- nginx-Sidecar entfernt (NPM extern)
- Port auf 9982 geändert
- copilot-instructions auf aktuelles Template aktualisiert
- download-data.sh + download-satellite.py erstellt
- History-System (post-commit Hook + _session.md Konvention) in rd13_copilot_setup implementiert
- Docs für MediaWiki, Nextcloud, Home Assistant erstellt
- Planet-MBTiles Download gestartet (OpenFreeMap, 94 GB)
- Martin WebUI aktiviert (
--webui enable-for-all) - Endpunkte verifiziert (
/health,/catalog, Root 200) - MediaWiki-Kartographer Doku in
docs/mediawiki-config.phperweitert - MediaWiki-Repo auf Martin umgestellt und committed
- Rate-Limiting-Anforderungen in
docs/requirements/REQUIREMENTS.mdaufgenommen
Offene Aufgaben
- REQ-002 Rate Limiting – NPM Advanced Config für
tile.rd13server.deeintragen (Details:docs/requirements/REQUIREMENTS.md) - NPM Proxy-Host für
tile.rd13server.deanlegen (manuell im NPM UI) - fail2ban optional konfigurieren (REQ-002 Schicht 3)
- Satellit-Download (optional, REQ-005)
- Hook-Verteilung auf alle Repos (install-hooks.sh)
- Martin mit Satellit-Daten testen