Somaire
1. Voraussetzungen & Ressourcen
- Ubuntu 24.04 „Noble“ aktuell (Kernel 6.8)
- Docker ≥ 25 oder Node ≥ 18.17 (Node 22 empfohlen von MapTiler)
- 4 vCPU, mindestens 8 GB RAM; NVMe SSD für optimale Festplattenleistung
- Eine *.mbtiles* Datei von OpenMapTiles (z.B. Frankreich = ~7 GB)
2. Docker-Methode (empfohlen)
2.1 Docker installieren & Image herunterladen
sudo apt update && sudo apt install docker.io -y
sudo docker pull maptiler/tileserver-gl:latest
Das offizielle Image enthält MapLibre GL Native und verwaltet die Rasterisierung von PNG/JPEG/WEBP auf Abruf
2.2 Einen Satz Vektor-Kacheln herunterladen
wget -P ~/data https://download.openmaptiles.com/osm/v3.15/europe/france.mbtiles
OpenMapTiles bietet je nach Gebiet kostenpflichtige oder kostenlose Sets an
2.3 TileServer GL starten
cd ~/data
docker run -it -d --name tileserver
-p 8080:8080 -v $(pwd):/data
maptiler/tileserver-gl
--port 8080 --public_url https://example.com
Der Server erkennt automatisch *.mbtiles* Dateien in /data und stellt /styles/, /tiles/ sowie einen MapLibre Viewer bereit
2.4 Überprüfung
- Vektor-Kacheln:
http://IP:8080/data/v3.json - WMTS:
http://IP:8080/styles/bright/wmts.xml - MapLibre Vorschau:
http://IP:8080/
3. npm-Methode (native Installation)
sudo apt install build-essential nodejs npm -y
sudo npm install -g tileserver-gl
Stellen Sie sicher, dass Node ≥ 18 ist; die MapLibre-Binärdateien werden nun für gerade LTS-Versionen kompiliert
tileserver-gl france.mbtiles --port 8080
4. Optimierungen & bewährte Praktiken
- HTTP-Cache: Fügen Sie
Cache-Control: max-age=86400, immutablehinter Nginx oder Traefik hinzu. - Raster-Vorrendering: Vermeiden Sie die PNG-Erzeugung in Echtzeit bei hoher Last; erzeugen Sie statische Kacheln bei Bedarf
- WMTS für Desktop-GIS; verfügbar unter
/wmts.xml - tileserver-gl-light: leichter, wenn Sie nur Vektor-Kacheln ohne PNG-Rendering ausliefern
5. Automatische Aktualisierung der .mbtiles
Um die Entwicklung von OSM zu verfolgen, können Sie:
- Das monatliche OpenMapTiles-Extrakt erneut herunterladen und die Datei ersetzen
- Oder Ihre eigenen Kacheln mit der OpenMapTiles-Pipeline (Docker Compose) erzeugen
Ein einfacher docker restart tileserver lädt die neuen Kacheln dank des automatischen Scans von TileServer GL neu
6. Sicherheit & Produktion
- Nginx-Proxy mit Let’s Encrypt für TLS (Ports 80 / 443)
- Beschränken Sie
/dataauf Nur-Lese-Zugriff über-v $(pwd):/data:ro - UFW: Nur intern 8080 freigeben, öffentlich 80/443
- Überwachen Sie die Docker-Logs und aktivieren Sie
--restart unless-stopped
7. Schnelle Fehlerbehebung
Wenn der Server nach einer Anfrage stoppt, überprüfen Sie die Node-Version oder den GPU-Treiber; mehrere GitHub-Issues melden einen Absturz mit Node < 18 und einigen virtuellen Treibern