Ein vollständiger, offlinefähiger OpenStreetMap Tile-Server – lokal gehostet per Docker, ideal für eigene Kartenanwendungen oder Intranets.
osm-server/
├── import/
│ ├── region.osm.pbf ← OSM-Daten (z. B. Germany von Geofabrik)
│ ├── style/ ← Style-Verzeichnis (osm-carto, LUA, .style)
│ └── tiles/ ← Muss manuell existieren!
mkdir -p ~/osm-server/import/style
mkdir -p ~/osm-server/import/tiles
cd ~/osm-serverwget https://download.geofabrik.de/europe/germany-latest.osm.pbf -O import/region.osm.pbfdocker run -d \
--name osm-import-background \
-v $(pwd)/import:/data \
overv/openstreetmap-tile-server importdocker logs -f osm-import-backgroundFertig, wenn du siehst:
+ sudo -u renderer touch /data/database/planet-import-complete
+ service postgresql stop
# Stoppe alten Container (falls vorhanden)
docker stop osm-server 2>/dev/null || true
docker rm osm-server 2>/dev/null || true
# Starte neuen Container
docker run -d \
--name osm-server \
--shm-size=1g \
-p 8080:80 \
-v $(pwd)/import:/data \
overv/openstreetmap-tile-server runhttp://<dein-server>:8080| Aufgabe | Status |
|---|---|
PBF-Datei liegt als region.osm.pbf in import/ |
✅ |
Style-Verzeichnis import/style/ vorhanden |
✅ |
Verzeichnis import/tiles/ vorhanden |
✅ |
| Import erfolgreich abgeschlossen | ✅ |
| Tile-Server läuft auf Port 8080 | ✅ |
# Nur letzte 50 Zeilen vom Import:
docker logs osm-import-background | tail -n 50
# Prüfen ob Import noch läuft:
docker ps | grep osm-import-background
# Tile-Server-Logs anzeigen:
docker logs -f osm-server
# Tile-Server stoppen:
docker rm -f osm-server
# Tile-Server Ressourcennutzung:
docker statsFür bessere Performance kannst du Tiles vorab rendern:
chmod +x render_tiles.sh
./render_tiles.shDas Script läuft im Hintergrund - du kannst dich sicher abmelden!
Logs findest du im Ordner ./render_logs
z. B. zoom_9.log, zoom_10.log, ...
Fortschritt verfolgen:
tail -f render_logs/background.logBeispiel-Output:
SERVER $ tail -f render_logs/background.log
Starte Zoom 9 ...
OK: Zoom 9 abgeschlossen.
Starte Zoom 10 ...
OK: Zoom 10 abgeschlossen.
Starte Zoom 11 ...Spezifische Zoom-Level Logs:
tail -f render_logs/zoom_14.logFertige Zoom-Level prüfen:
cat render_logs/done.txtRender-Prozesse stoppen:
docker exec osm-server pkill -f render_listVerwendetes Image:
👉 overv/openstreetmap-tile-server
Start erfolgt ohne Docker Compose, stattdessen direkt über docker run (besser kontrollierbar).
