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.
Go to file
a14stoner 78a88c1857
fix: Failed to open X display when restarting container (#790)
* Update docker-entrypoint.sh

fix error:

what(): Failed to open X display

by deleting the .X99-lock file at the start of the containe

* Update docker-entrypoint.sh

add check - if the file .X99-lock exists it will be removed. If not nothing is done.

* Update docker-entrypoint.sh

Change check and deletion to a one-liner
2023-03-19 11:04:34 -04:00
.github Revert "test if caching causes https://github.com/maptiler/tileserver-gl/issues/745" 2023-02-20 22:51:02 -05:00
.husky style: fix lint issues in code 🕺 (#626) 2022-11-08 22:56:07 -05:00
docs Update license from mapbox to maplibre (#760) 2023-02-25 21:37:59 -05:00
public Update maplibre-gl-inspect to v1.4.6 (#753) 2023-03-09 21:27:38 -05:00
src Handle SIGTERM (#782) 2023-03-01 10:05:21 -05:00
test style: fix lint issues in code 🕺 (#626) 2022-11-08 22:56:07 -05:00
.dockerignore Move docker images to ubuntu (#620) 2022-10-05 09:11:03 -04:00
.eslintignore build: add CI workflow 🕺 (#671) 2023-01-10 10:01:26 -05:00
.eslintrc.cjs style: fix lint issues in code 🕺 (#626) 2022-11-08 22:56:07 -05:00
.gitattributes Add .gitattribute (#637) 2022-11-06 18:08:26 -05:00
.gitignore Experimental integration of first plugin 2016-12-06 20:11:18 +01: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
commitlint.config.cjs style: fix lint issues in code 🕺 (#626) 2022-11-08 22:56:07 -05:00
docker-entrypoint_light.sh Simplify signal handling (#771) 2023-02-18 23:51:48 -05:00
docker-entrypoint.sh fix: Failed to open X display when restarting container (#790) 2023-03-19 11:04:34 -04:00
Dockerfile fix consecutive runs 2023-02-21 01:06:58 -05:00
Dockerfile_light Update Dockerfile_light to fix rootless/podman (#775) 2023-02-25 21:01:34 -05:00
Dockerfile_test Update to node 18, add docker build test (#699) 2023-01-08 22:19:21 -05:00
ISSUE_TEMPLATE.md Update ISSUE_TEMPLATE.md 2018-01-23 12:17:14 +01:00
LICENSE.md Update license from mapbox to maplibre (#760) 2023-02-25 21:37:59 -05:00
lint-staged.config.cjs style: fix lint issues in code 🕺 (#626) 2022-11-08 22:56:07 -05:00
package-lock.json chore(deps-dev): bump eslint-plugin-jsdoc from 40.0.2 to 40.0.3 (#801) 2023-03-15 23:22:09 +00:00
package.json chore(deps-dev): bump eslint-plugin-jsdoc from 40.0.2 to 40.0.3 (#801) 2023-03-15 23:22:09 +00: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 (#616) 2022-09-28 16:39:26 -04:00
README_light.md Replace last references to the old repository/dockerhub 2020-03-11 13:57:45 +01:00
README.md chore: remove unused run.sh 🧽 (#719) 2023-01-18 15:53:32 -05:00

tileserver-gl

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 14.20.0 or above installed. Node 18 is recommended. (running node -v it should output something like v18.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 --mbtiles 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 --mbtiles 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
[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

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

Alternatively, you can use the maptiler/tileserver-gl-light 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://maptiler-tileserver.readthedocs.io/.

Alternative

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