Self-host sms
8.0.0Vector tile server with hiking routing and MCP
- Stars
- 269
- CPU
- 1 core
- RAM
- 512 MB
- Storage
- 101 GB (planet.mbtiles) + optional 290 GB (contours.mbtiles)
- Port
- 9000 (HTTP tile server and map UI)
registry.gitlab.com/markuman/smsWhat is sms?
sms is a self-hosted vector tile server that converts MBTiles files into map tiles, styles, fonts, and sprites for browser maps via MapLibre GL. It includes built-in routing for hiking and cycling using the road network from vector tiles, with SAC scale difficulty ratings, via ferrata detection, and marked trail preferences when tiles have extended attributes. The server exposes an MCP endpoint so LLM agents can geocode, search POIs, plan multi-waypoint routes, export GPX, and analyze tracks without external routing engines. It integrates with Photon for reverse geocoding and works with Nextcloud GpxPod. Pre-built planet.mbtiles (101 GB) and contours.mbtiles (optional 290 GB) provide global coverage. Runs via Docker/Podman on port 9000 with minimal requirements (1 core, 512 MB). Licensed MIT.
Should you self-host sms?
sms scores 48/100 on selfhost.directory (how scoring works) and ranks #11 of 12 in Maps. It has 269 GitHub stars.
It shipped 5 stable releases in the past year. The latest, 8.0.0, came out on 8 September 2026. New versions land roughly every 2 months.
Setup is moderate: expect some configuration beyond a single command. An official Docker image is available. It is MIT-licensed and written mostly in Python.
Its closest alternative on selfhost.directory is GeoServer (71/100, 4 483 stars). It scores higher overall, so compare the two before you pick. See sms vs GeoServer side by side.
Features
- Contour line supportOptional, requires separate contours.mbtiles file
- GPX upload, download, and analysis
- Hiking and cycling routing
- Marked trail routing
- MCP (Model Context Protocol) endpoint
- Multiple map styles
- Multi-tileset support
- Nextcloud GpxPod compatibility
- POI searchSome categories require extended tile profile
- SAC scale difficulty ratingsRequires tiles built with extended profile (e.g., markuman/planetiler)
- Tile caching with ETags
- Vector tile serving (MVT)
- Via ferrata detection and exclusionRequires tiles with via_ferrata_scale attribute
sms README
More in Navigation
Sun-PanelSelf-hosted icon navigation panel and browser start page for servers, NAS boxes and Docker containers, with multi-account isolation and no external database.
ValhallaValhalla is a self-hosted, open-source routing engine for OpenStreetMap with turn-by-turn navigation, isochrones, matrix computation, map matching, and tour optimization.
Vanchor-NGSelf-hosted GPS autopilot turning a trolling motor into a virtual anchor with routing and fishing modes — runs offline on Raspberry Pi or in simulation.
facilmapFacilMap is a self-hosted, open-source OpenStreetMap web map for collaborative maps with markers, routes, live editing, multiple styles, routing, and GPX/GeoJSON import.
GraphHopperGraphHopper is a self-hosted, open-source OpenStreetMap routing engine with A-to-B routing, isochrones, map matching, and GTFS transit. Runs as Java server or library.
HaukHauk is an open-source, self-hosted real-time location sharing service with PHP backend and Android app. Run your own server and share location via generated links.
MBCompassAn open-source, self-hosted-on-device Android compass app: GPS location, track recording, GPX export, offline Mapsforge maps, zero ads or tracking.
OpenRouteServiceSelf-hosted, open-source Java routing API on OpenStreetMap data offering directions, isochrones, time-distance matrices, snapping and graph export.
Open Source Routing Machine (OSRM)An open-source routing engine you self-host to answer route, matrix, map-matching, trip and tile queries over OpenStreetMap extracts via HTTP.
OpenStreetMapOpen-source, self-hosted Ruby on Rails app powering the OpenStreetMap website and its XML/JSON editing API, with accounts, GPX traces and diaries, backed by PostgreSQL.
OpenTripPlannerSelf-hosted, open-source trip planner for scheduled public transit plus walking, cycling and bikeshare, built from GTFS/NeTEx and OpenStreetMap data.
Project OSRMOpen Source Routing Machine - C++ backend
0 comments