@acalcutt/tileserver-gl
v5.2.1-pre.4
Published
Map tile server for JSON GL styles - vector and server side generated raster tiles
Downloads
486
Maintainers
Readme
MapLibre TileServer GL
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 @acalcutt/tileserver-gl
with server-side raster rendering of vector tiles with npm.
npm install -g @acalcutt/tileserver-gl
Once installed, you can use it like the following examples.
using a mbtiles file
wget https://github.com/acalcutt/tileserver-gl/releases/download/test_data/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/acalcutt/tileserver-gl/releases/download/test_data/test_data.zip
unzip test_data.zip
tileserver-gl
[in your browser, visit http://[server ip]:8080]
Alternatively, you can use the @acalcutt/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/acalcutt/tileserver-gl/releases/download/test_data/zurich_switzerland.mbtiles
docker run --rm -it -v $(pwd):/data -p 8080:8080 wifidb/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/acalcutt/tileserver-gl/releases/download/test_data/test_data.zip
unzip test_data.zip
docker run --rm -it -v $(pwd):/data -p 8080:8080 wifidb/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 wifidb/tileserver-gl
replace '/your/local/config/path' with the path to your config file
Alternatively, you can use the wifidb/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 -O test_data.zip https://github.com/acalcutt/tileserver-gl/releases/download/test_data/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 full documentation of this project at https://tileserver-gl.readthedocs.io/en/latest/.
Alternative
Discover MapTiler Server if you need a map server with easy setup and user-friendly interface.