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
Vinayak Kulkarni 6e7c3eb3b3
build: move to GitHub Actions workflow(s) (#597)
* build: add `Pipeline` GitHub Action workflow(s)

Signed-off-by: Vinayak Kulkarni <19776877+vinayakkulkarni@users.noreply.github.com>

* refactor(build): use CT action instead of travis-ci

Signed-off-by: Vinayak Kulkarni <19776877+vinayakkulkarni@users.noreply.github.com>

* chore: remove `main` branch

Signed-off-by: Vinayak Kulkarni <19776877+vinayakkulkarni@users.noreply.github.com>

* build: add `ct` workflow in The Pipeline 🕺

Signed-off-by: Vinayak Kulkarni <19776877+vinayakkulkarni@users.noreply.github.com>

* revert: remove builder workflow to automate deployments on `ghcr.io`

Signed-off-by: Vinayak Kulkarni <19776877+vinayakkulkarni@users.noreply.github.com>

* build(ci): upgrade node version to 17

Signed-off-by: Vinayak Kulkarni <19776877+vinayakkulkarni@users.noreply.github.com>

* build: use node version from `"engines"`

https://github.com/actions/setup-node/blob/main/docs/advanced-usage.md#node-version-file

Signed-off-by: Vinayak Kulkarni <19776877+vinayakkulkarni@users.noreply.github.com>

* chore: run linter(s) once we have linting tools in place

Signed-off-by: Vinayak Kulkarni <19776877+vinayakkulkarni@users.noreply.github.com>

* fix: file name for automerger workflow

Signed-off-by: Vinayak Kulkarni <19776877+vinayakkulkarni@users.noreply.github.com>

* fix: run workflow on protected branch

Signed-off-by: Vinayak Kulkarni <19776877+vinayakkulkarni@users.noreply.github.com>

* chore: ignore hadolint rules

Signed-off-by: Vinayak Kulkarni <19776877+vinayakkulkarni@users.noreply.github.com>

* fix: setup-node after checkout repo

Signed-off-by: Vinayak Kulkarni <19776877+vinayakkulkarni@users.noreply.github.com>

* fix: remove deprecated ::set-output

Signed-off-by: Vinayak Kulkarni <19776877+vinayakkulkarni@users.noreply.github.com>

* style: fix Dockerfile lint issues

Signed-off-by: Vinayak Kulkarni <19776877+vinayakkulkarni@users.noreply.github.com>

* chore(deps): upgrade pinned libcurl4 package

Signed-off-by: Vinayak Kulkarni <19776877+vinayakkulkarni@users.noreply.github.com>

* feat: add codeql workflow

https: //github.com/github/codeql-action/
Signed-off-by: Vinayak Kulkarni <19776877+vinayakkulkarni@users.noreply.github.com>

* fix: enable Lint check in CI

cause #626 is merged! ❤️

Signed-off-by: Vinayak Kulkarni <19776877+vinayakkulkarni@users.noreply.github.com>

* feat: add publishConfig in `package.json` 🕺

Signed-off-by: Vinayak Kulkarni <19776877+vinayakkulkarni@users.noreply.github.com>

* style: remove extra space

Signed-off-by: Vinayak Kulkarni <19776877+vinayakkulkarni@users.noreply.github.com>

* feat: add builder workflow 🎉

Signed-off-by: Vinayak Kulkarni <19776877+vinayakkulkarni@users.noreply.github.com>

* perf: enable `npm ci` since we now have lockfile 🕺

Signed-off-by: Vinayak Kulkarni <19776877+vinayakkulkarni@users.noreply.github.com>

* refactor!: remove pipeline and just enable automerger & CI

Signed-off-by: Vinayak Kulkarni <19776877+vinayakkulkarni@users.noreply.github.com>

* refactor: enable codeql & remove CI

Signed-off-by: Vinayak Kulkarni <19776877+vinayakkulkarni@users.noreply.github.com>

* revert: old files unneeded in this PR

Signed-off-by: Vinayak Kulkarni <19776877+vinayakkulkarni@users.noreply.github.com>

* revert: remove hadolint config

Signed-off-by: Vinayak Kulkarni <19776877+vinayakkulkarni@users.noreply.github.com>

* build: enable CT as per @acalcutt review

Signed-off-by: Vinayak Kulkarni <19776877+vinayakkulkarni@users.noreply.github.com>

* fix: remove travis cause CT workflow

Signed-off-by: Vinayak Kulkarni <19776877+vinayakkulkarni@users.noreply.github.com>

* force ubuntu-20.04

Testing fails on ubuntu-latest due to no libicu66 being available in ubuntu 22.04

* simplify dependencies install

* add publish workflow

* remove automerger for now

Signed-off-by: Vinayak Kulkarni <19776877+vinayakkulkarni@users.noreply.github.com>
Co-authored-by: acalcutt <acalcutt@techidiots.net>
2022-12-08 01:15:12 -05:00
.github build: move to GitHub Actions workflow(s) (#597) 2022-12-08 01:15:12 -05:00
.husky style: fix lint issues in code 🕺 (#626) 2022-11-08 22:56:07 -05:00
docs usage.rst: Add "Docker and --port" section (#651) 2022-12-05 00:02:05 -05:00
public Bugfix: publicUrl is not used in some urls (#605) 2022-09-30 09:18:13 -04:00
src fix: Ensure font serving does not reflect userdata-derived errors as HTML (#647) 2022-11-24 11:07:11 -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
.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
commitlint.config.cjs style: fix lint issues in code 🕺 (#626) 2022-11-08 22:56:07 -05:00
docker-entrypoint_light.sh change docker to use port 8080 by default (#638) 2022-11-20 23:00:41 -05:00
docker-entrypoint.sh change docker to use port 8080 by default (#638) 2022-11-20 23:00:41 -05:00
Dockerfile change docker to use port 8080 by default (#638) 2022-11-20 23:00:41 -05:00
Dockerfile_light change docker to use port 8080 by default (#638) 2022-11-20 23:00:41 -05:00
Dockerfile_test Move docker images to ubuntu (#620) 2022-10-05 09:11:03 -04:00
ISSUE_TEMPLATE.md Update ISSUE_TEMPLATE.md 2018-01-23 12:17:14 +01:00
LICENSE.md Create LICENSE.md 2016-06-05 16:44:27 +02:00
lint-staged.config.cjs style: fix lint issues in code 🕺 (#626) 2022-11-08 22:56:07 -05:00
package-lock.json fix: Ensure font serving does not reflect userdata-derived errors as HTML (#647) 2022-11-24 11:07:11 -05:00
package.json fix: Ensure font serving does not reflect userdata-derived errors as HTML (#647) 2022-11-24 11:07:11 -05: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 change docker to use port 8080 by default (#638) 2022-11-20 23:00:41 -05:00
run.sh change docker to use port 8080 by default (#638) 2022-11-20 23:00:41 -05:00

tileserver-gl

TileServer GL

Build 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 16 is recommended. (running node -v it should output something like v16.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://tileserver.readthedocs.io/.

Alternative

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