deploy-infra / app
sms (simple mbtiles server)
Capability: sms (simple mbtiles server)
Use it when
- Your app depends on a hosted vector tile provider and you want to self-host planet-wide OpenStreetMap tiles with styles, fonts, and sprites instead
- You need an offline or private map stack: serve mbtiles to MapLibre GL, search POIs by category and radius, and compute short walking or cycling routes without any external routing engine
What it solves
Not the fit when
- Hosts without roughly 100 GB free storage, plus about 315 GB if contour data is used.
- Driving routes, turn restrictions, long-distance routing beyond the documented small bounding-box limits, or forward geocoding.
- Production use of the maintainer-hosted prebuilt MBTiles without independently verifying provenance, freshness, integrity, and OpenStreetMap attribution obligations; generate or source your own trusted MBTiles when required.
- Assuming every bundled component is MIT; README says vendor components use additional licenses.
- Exposing the service directly to the internet without a reverse proxy, TLS, rate limits, and operational monitoring.
- driving navigation with turn restrictions
- raster tile rendering
- forward geocoding search
- generating the mbtiles file itself
Install
wget the provided planet.mbtiles into ./osm/, then: podman run -ti --rm -p 9000:9000 --name sms -v "$(pwd)/osm/:/data/" registry.gitlab.com/markuman/sms:latest (docker also works; ~100 GB storage required)
Invoke
Open http://localhost:9000 for the map UI; serve tiles at /v1/tiles/{id}@{version}/{z}/{x}/{y}.mvt, MapLibre styles at /v1/styles/.../style.json, POI search at /v1/poi/..., and foot/bike routing at /v1/route/...Alternatives
No reviewed alternatives recorded yet.