Vector and raster maps with GL styles. Server side rendering by MapLibre GL Native. Map tile server for MapLibre GL JS, Android, iOS, Leaflet, OpenLayers, GIS via WMTS, etc.
Find a file
Fabio 4b1ffd489f
Some checks failed
CodeQL / Analyze (push) Has been cancelled
The Pipeline / Fetch branch (push) Has been cancelled
The Pipeline / CI (push) Has been cancelled
The Pipeline / CT (push) Has been cancelled
The Pipeline / Automerge Dependabot PRs (push) Has been cancelled
Aggiorna README.md
2025-03-27 16:44:48 +08:00
.github Test light version in ct workflow - fix sqlite build in light (#1477) 2025-03-16 19:12:09 -04:00
docs feat: Fetch style from url (#1462) 2025-02-28 23:45:51 -05:00
public limit elevation lat/long decimal places to 7 (#1457) 2025-02-08 22:32:51 -05:00
src fix: resolves Unimplemented type: 3 error for geojson format (#1465) 2025-03-16 14:51:12 -04:00
test Upgrade Express to v5 +Canvas v3 + code cleanup (#1429) 2025-01-10 19:34:17 -05:00
.dockerignore Allow handling of local GeoJSON files #1324 (#1326) 2024-08-31 22:56:36 -04:00
.eslintignore build: add CI workflow 🕺 (#671) 2023-01-10 10:01:26 -05:00
.eslintrc.cjs chore(deps-dev): bump @typescript-eslint/eslint-plugin from 5.61.0 to 6.11.0 (#1052) 2023-11-15 21:31:28 -05:00
.gitattributes Add .gitattribute (#637) 2022-11-06 18:08:26 -05:00
.gitignore v5.2.0-pre.0 (#1461) 2025-02-08 22:50:26 -05:00
.hadolint.yml build: add CI workflow 🕺 (#671) 2023-01-10 10:01:26 -05:00
.nvmrc chore: add.nvmrc & cache Docker build(s) 📦 (#707) 2023-01-13 14:05:44 -05:00
.prettierignore build: add CI workflow 🕺 (#671) 2023-01-10 10:01:26 -05:00
.readthedocs.yaml fix: try to get readthedocs working 2023-09-27 01:00:45 -04:00
CHANGELOG.md v5.2.0 (#1479) 2025-03-17 09:18:40 -04:00
commitlint.config.cjs style: fix lint issues in code 🕺 (#626) 2022-11-08 22:56:07 -05:00
docker-entrypoint.sh fix: Failed to open X display when restarting container (#790) 2023-03-19 11:04:34 -04:00
docker-entrypoint_light.sh Simplify signal handling (#771) 2023-02-18 23:51:48 -05:00
Dockerfile Test light version in ct workflow - fix sqlite build in light (#1477) 2025-03-16 19:12:09 -04:00
Dockerfile_build Use npm packages for public/resources (#1427) 2025-02-08 22:09:25 -05:00
Dockerfile_light Fix light version docker entrypoint permissions (#1478) 2025-03-16 23:25:45 -04:00
Dockerfile_test Fix wrong node version in docker final image. (#1442) 2025-01-10 23:44:44 -05:00
ISSUE_TEMPLATE.md Update ISSUE_TEMPLATE.md 2018-01-23 12:17:14 +01:00
LICENSE.md Add pmtiles support (#1009) 2023-10-15 03:03:15 -04:00
lint-staged.config.cjs style: fix lint issues in code 🕺 (#626) 2022-11-08 22:56:07 -05:00
package-lock.json v5.2.0 (#1479) 2025-03-17 09:18:40 -04:00
package.json v5.2.0 (#1479) 2025-03-17 09:18:40 -04:00
prettier.config.cjs style: fix lint issues in code 🕺 (#626) 2022-11-08 22:56:07 -05:00
publish.js fix: issue with husky install (#639) 2022-11-09 15:39:28 -05:00
PUBLISHING.md Update PUBLISHING.md (#1480) 2025-03-17 09:58:26 -04:00
README.md Aggiorna README.md 2025-03-27 16:44:48 +08:00
README_light.md Add undocumented options to docs (#1063) 2023-11-22 10:35:14 -05:00

tileserver-gl

My TileServer GL

creare un folder dove mettere la mappa e i layers

Download vector tiles from OpenMapTiles.

scaricare i layers

wget https://github.com/maptiler/tileserver-gl/releases/download/v1.3.0/test_data.zip
unzip test_data.zip

modificare nano config.json per inserire il nome del file .mbtiles (x es planetOSM.mbtiles )

far partire il docker

services:
    tileserver-gl:
        volumes:
            - /home/nvme/dockerdata/tileserver:/data
        ports:
            - 8115:8080
        image: maptiler/tileserver-gl:latest

oppure

sudo docker run -d -v /home/nvme/dockerdata/tileserver:/data -p 8115:8080 maptiler/tileserver-gl:latest

TileServer GL

GitHub Workflow Status Docker Hub

Vector and raster maps with GL styles. Server-side rendering by MapLibre GL Native. Map tile server for MapLibre GL JS, Android, iOS, Leaflet, OpenLayers, GIS via WMTS, etc.

Download vector tiles from OpenMapTiles.

Getting Started with Node

Make sure you have Node.js version 18.17.0 or above installed. Node 22 is recommended. (running node -v it should output something like v22.x.x). Running without docker requires Native dependencies to be installed first.

Install tileserver-gl with server-side raster rendering of vector tiles with npm.

npm install -g tileserver-gl

Once installed, you can use it like the following examples.

using a mbtiles file

wget https://github.com/maptiler/tileserver-gl/releases/download/v1.3.0/zurich_switzerland.mbtiles
tileserver-gl --file zurich_switzerland.mbtiles
[in your browser, visit http://[server ip]:8080]

using a config.json + style + mbtiles file

wget https://github.com/maptiler/tileserver-gl/releases/download/v1.3.0/test_data.zip
unzip test_data.zip
tileserver-gl
[in your browser, visit http://[server ip]:8080]

Alternatively, you can use the tileserver-gl-light npm package instead, which is pure javascript, does not have any native dependencies, and can run anywhere, but does not contain rasterization on the server side made with Maplibre GL Native.

Getting Started with Docker

An alternative to npm to start the packed software easier is to install Docker on your computer and then run from the tileserver-gl directory

Example using a mbtiles file

wget https://github.com/maptiler/tileserver-gl/releases/download/v1.3.0/zurich_switzerland.mbtiles
docker run --rm -it -v $(pwd):/data -p 8080:8080 maptiler/tileserver-gl:latest --file zurich_switzerland.mbtiles
[in your browser, visit http://[server ip]:8080]

Example using a config.json + style + mbtiles file

wget https://github.com/maptiler/tileserver-gl/releases/download/v1.3.0/test_data.zip
unzip test_data.zip
docker run --rm -it -v $(pwd):/data -p 8080:8080 maptiler/tileserver-gl:latest
[in your browser, visit http://[server ip]:8080]

Example using a different path

docker run --rm -it -v /your/local/config/path:/data -p 8080:8080 maptiler/tileserver-gl:latest

replace '/your/local/config/path' with the path to your config file

Alternatively, you can use the maptiler/tileserver-gl-light:latest docker image instead, which is pure javascript, does not have any native dependencies, and can run anywhere, but does not contain rasterization on the server side made with Maplibre GL Native.

Getting Started with Linux cli

Test from command line

wget https://github.com/maptiler/tileserver-gl/releases/download/v1.3.0/test_data.zip
unzip -q test_data.zip -d test_data
xvfb-run --server-args="-screen 0 1024x768x24" npm test

Run from command line

xvfb-run --server-args="-screen 0 1024x768x24" node .

Documentation

You can read the full documentation of this project at https://tileserver.readthedocs.io/en/latest/.

Alternative

Discover MapTiler Server if you need a map server with easy setup and user-friendly interface.