Cómo desplegar Tileserver GL

Cómo desplegar Tileserver GL

14 Abril 2021
610
Tutorial Linux Servidor

Instalación

Primero, necesitamos instalar el servicio, tenemos dos opciones, usar Docker para tener el servicio aislado o instalarlo usando NPM.

Vamos a ver cómo instalarlo usando NPM.

Hay dos versiones "tileserver-gl" y "tileserver-gl-light", la light no puede crear tiles rasterizados, solo vectoriales. Vamos a instalar la versión light porque no vamos a usar los tiles rasterizados.

npm install -g tileserver-gl-light

Una vez instalado vamos a crear todas las carpetas necesarias.

mkdir ~/tileserver
mkdir ~/tileserver/fonts
mkdir ~/tileserver/sprites
mkdir ~/tileserver/styles

Dentro de la carpeta tileserver, debemos colocar los archivos ".mbtiles" con la información del mapa. Podemos descargar este archivo desde la página Maptiler downloads.


Configurar los estilos

Dentro de la carpeta "~/tileserver/styles" debemos crear un archivo con los estilos para nuestro mapa, el nombre del archivo será "basic.json", por ejemplo.

El contenido de este archivo depende de las necesidades de cada proyecto, en el siguiente enlace, encontrarás el contenido de nuestro archivo: Contenido de basic.json.


Archivo de configuración

Otro archivo importante es el de configuración, ubicado en la carpeta "~/tileserver". Este archivo especifica los estilos y las fuentes de datos que utilizará el servicio.

Como antes el contenido de nuestro archivo de configuración está disponible para ti: Contenido de config.json


Generar fuentes

Necesitamos generar los archivos de fuentes PBFs para mostrar todos los textos del mapa.

Primero, accedemos a la carpeta "~/tileserver/fonts" y clonamos el repositorio de las fuentes.

cd ~/tileserver/fonts
git clone https://github.com/openmaptiles/fonts

A continuación, debemos instalar las dependencias de NPM.

cd ~/tileserver/fonts/fonts
npm install

Una vez instaladas las dependencias, podemos generar las fuentes.

node ./generate.js

Los archivos PBFs se colocarán en la carpeta _output.

Movemos las fuentes generadas a la carpeta "~/tileserver/fonts".

mv ~/tileserver/fonts/fonts/_output/* ~/tileserver/fonts

Una vez movido podemos eliminar la carpeta "~/tileserver/fonts/fonts".

rm -rf ~/tileserver/fonts/fonts

Probar el servicio

Ahora podemos comprobar si el servicio funciona correctamente, para ello debemos ejecutar el siguiente comando.

tileserver-gl-light -c ~/tileserver/config.json

Si funciona el servicio estará disponible en el puerto 8080.

Tileserver GL page


Crear SystemD unit

Para ejecutar el servicio como demonio debemos crear un SystemD unit.

vi /etc/systemd/system/tileserver-gl-light.service

Este archivo contendrá lo siguiente:

[Unit]
Description=tileserver-gl-light

[Service]
ExecStart=/bin/bash -c "tileserver-gl-light -c config.json -s"
Restart=always
User=administrator # Cambiar por tu usuario
Group=daemon
WorkingDirectory=/home/administrator/tileserver # Cambiar por la ruta de la carpeta tileserver

[Install]
WantedBy=multi-user.target

Una vez modificado el contenido del archivo debemos ejecutar lo siguiente:

systemd daemom-reload
systemd enable tileserver-gl-light
systemd start tileserver-gl-light

Después de esto, el servicio debería estar en funcionamiento.




Para saber más sobre Tileserver GL, consulta la documentación oficial. https://tileserver.readthedocs.io/en/latest/