Somaire
1. Requisitos previos y recursos
- Ubuntu 24.04 « Noble » actualizado (kernel 6.8)
- Docker ≥ 25 o Node ≥ 18.17 (Node 22 recomendado por MapTiler)
- 4 vCPU, 8 GB RAM mínimo; SSD NVMe para un rendimiento óptimo del disco
- Un archivo *.mbtiles* OpenMapTiles (ej. Francia = ~7 GB)
2. Método Docker (recomendado)
2.1 Instalar Docker y obtener la imagen
sudo apt update && sudo apt install docker.io -y
sudo docker pull maptiler/tileserver-gl:latest
La imagen oficial incluye MapLibre GL Native y gestiona la rasterización PNG/JPEG/WEBP bajo demanda
2.2 Descargar un conjunto de teselas vectoriales
wget -P ~/data https://download.openmaptiles.com/osm/v3.15/europe/france.mbtiles
OpenMapTiles ofrece conjuntos de pago o gratuitos según la zona
2.3 Ejecutar 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
El servidor detecta automáticamente los archivos *.mbtiles* en /data y publica /styles/, /tiles/ y un visor MapLibre
2.4 Verificación
- Teselas vectoriales:
http://IP:8080/data/v3.json - WMTS:
http://IP:8080/styles/bright/wmts.xml - Vista previa MapLibre:
http://IP:8080/
3. Método npm (instalación nativa)
sudo apt install build-essential nodejs npm -y
sudo npm install -g tileserver-gl
Asegúrese de que Node ≥ 18; los binarios de MapLibre ahora se compilan para versiones pares LTS
tileserver-gl france.mbtiles --port 8080
4. Optimización y buenas prácticas
- Cache HTTP: agregue
Cache-Control: max-age=86400, immutabledetrás de Nginx o Traefik. - Pre-renderizado raster: evite la generación de PNG en tiempo real bajo alta carga; genere teselas estáticas si es necesario
- WMTS para SIG de escritorio; disponible en
/wmts.xml - tileserver-gl-light: más ligero si solo sirve vectoriales, sin renderizado PNG
5. Actualización automática de los .mbtiles
Para seguir la evolución de OSM, puede:
- Volver a descargar el extracto mensual de OpenMapTiles y reemplazar el archivo
- O generar sus propias teselas mediante el pipeline OpenMapTiles (Docker Compose)
Un simple docker restart tileserver recarga las nuevas teselas gracias al escaneo automático de TileServer GL
6. Seguridad y producción
- Proxy Nginx con Let’s Encrypt para TLS (puertos 80 / 443)
- Limite
/dataa solo lectura mediante-v $(pwd):/data:ro - UFW: exponga solo 8080 internamente, 80/443 públicamente
- Monitoree los registros de Docker y active
--restart unless-stopped
7. Solución rápida de problemas
Si el servidor se detiene después de una solicitud, verifique la versión de Node o el controlador GPU; varios issues en GitHub reportan un fallo con Node < 18 y algunos controladores virtuales