rd13_tile_server/history/summary/PROJECT_CONTEXT.md

3.2 KiB
Raw Blame History

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 010):

    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

  • 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.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