Skip to content

tobinbradley/mbtiles-server

 
 

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

49 Commits
 
 
 
 
 
 
 
 
 
 

Repository files navigation

mbtiles-server

A simple tiles server for MBTiles files. It can serve image and vector tiles, and multiple MBTiles files can be served.

Note: you should consider using use martin instead

martin is a fair bit faster at serving MBTiles while using a fraction of the RAM (and can also serve PMTiles and vector tiles from PostGIS). But if you're looking for a Node-based MBTiles server, this project will do the job.

Get Started

npm install
npm start

Routes

List Available Tile Sets

http://localhost:3000/list

Show Available Meta for Tile Set

http://localhost:3000/[mbtiles file]/meta

Ex: http://localhost:3000/tiles.mbtiles/meta

Fetch a Tile

http://localhost:3000/[mbtiles file]/[z]/[x]/[y]

Ex: http://localhost:3000/tiles.mbtiles/12/1128/1620

Notes

index.js contains two variables - tilesDir and port - the set the directory to find MBTiles files and the server port respectively. The defaults are the server's folder and port 3000.

The Fastify extensions fastify-caching and fastify-cors are used to set tile expiration (in seconds) and CORS. By default, expiration is 48 hours and CORS is set to access-control-allow-origin: *. See the Fastify projects to learn how to customize those options further.

If you are on Windows and npm install returns a compilation error, try running npm install -g windows-build-tools first.

By default, Fastify only listens to requests from localhost for security reasons. You can change the host constant in index.js to 0.0.0.0 to listen to all IPv4 addresses. See the Fastify listen docs for more details.

This tile server was originally inspired by Christopher Helm's awesome mbtiles-server.

About

A very simple node.js server for mbtiles

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Languages

  • JavaScript 100.0%