Somaire
1. Pré‑requis & ressources
- Ubuntu 24.04 « Noble » à jour (kernel 6.8)
- Docker ≥ 25 ou Node ≥ 18.17 (Node 22 recommandé par MapTiler)
- 4 vCPU, 8 Go RAM mini ; SSD NVMe pour débit disque optimal
- Un fichier *.mbtiles* OpenMapTiles (ex. France = ~7 Go)
2. Méthode Docker (recommandée)
2.1 Installer Docker & récupérer l’image
sudo apt update && sudo apt install docker.io -y
sudo docker pull maptiler/tileserver-gl:latest
L’image officielle embarque MapLibre GL Native et gère la rasterisation PNG/JPEG/WEBP à la demande
2.2 Télécharger un jeu de tuiles vectorielles
wget -P ~/data https://download.openmaptiles.com/osm/v3.15/europe/france.mbtiles
OpenMapTiles fournit des jeux payants ou gratuits selon la zone
2.3 Lancer TileServer GL
cd ~/data
docker run -it -d --name tileserver \
-p 8080:8080 -v $(pwd):/data \
maptiler/tileserver-gl \
--port 8080 --public_url https://example.com
Le serveur autodétecte les fichiers *.mbtiles* dans /data
et publie /styles/
, /tiles/
et un viewer MapLibre
2.4 Vérification
- Vector tiles :
http://IP:8080/data/v3.json
- WMTS :
http://IP:8080/styles/bright/wmts.xml
- Preview MapLibre :
http://IP:8080/
3. Méthode npm (installation native)
sudo apt install build-essential nodejs npm -y
sudo npm install -g tileserver-gl
Assurez‑vous que Node ≥ 18 ; les binaires MapLibre sont désormais compilés pour les versions paires LTS
tileserver-gl france.mbtiles --port 8080
4. Optimisations & bonnes pratiques
- Cache HTTP : ajoutez
Cache-Control: max-age=86400, immutable
derrière Nginx ou Traefik. - Pré‑rendu raster : évitez la génération PNG à la volée en forte charge ; générez des dalles statiques si besoin
- WMTS pour SIG desktop ; disponible sur
/wmts.xml
- tileserver‑gl‑light : plus léger si vous ne servez que le vectoriel, sans rendu PNG
5. Mise à jour automatique des .mbtiles
Pour suivre l’évolution d’OSM, vous pouvez :
- Re‑télécharger l’extrait OpenMapTiles mensuel et remplacer le fichier
- Ou générer vos propres tuiles via le pipeline OpenMapTiles (Docker Compose)
Un simple docker restart tileserver
recharge les nouvelles tuiles grâce au scan automatique de TileServer GL
6. Sécurité & production
- Proxy Nginx avec Let’s Encrypt pour TLS (ports 80 / 443)
- Limitez
/data
en lecture seule via-v $(pwd):/data:ro
- UFW : n’exposez que 8080 en interne, 80/443 publiquement
- Surveillez les logs Docker et activez
--restart unless-stopped
7. Dépannage rapide
Si le serveur s’arrête après une requête, vérifiez la version Node ou le pilote GPU ; plusieurs issues GitHub signalent un crash avec Node < 18 et certains pilotes virtuels