makina-maps
Full Stack to Build, Serve and Update your own Vector and Raster Tiles from OpenStreetMap Data.
makina-maps: your own tile stack from OpenStreetMap
Makina Maps is a full stack for building, serving, and updating vector and raster tiles from OpenStreetMap, rendering on request with OpenMapTiles, TileServer GL, and nginx caching.
Rendering on demand
Makina Maps is a full stack for building, serving, and updating your own vector and raster tiles from OpenStreetMap data. The key design choice is rendering on request. There is no huge MBTiles archive to pre generate, which keeps both setup and updates fast.
The initial import
The initial load downloads OpenStreetMap data and sets up configuration for a chosen area, using Geofabrik's area names stored in the data directory. The prepare and extract scripts can be replayed for the same area or a different one, so rebuilding the data for another region is a rerun rather than a rewrite.
Serving and updating tiles
Vector tiles are built on request from the OpenMapTiles database and schema, served as Mapbox GL styles with sprites and fonts embedded, and TileServer GL renders a raster version of the same style. Updates flow through Imposm, which marks expired tiles that a watcher script in the nginx container then clears from the cache. A reset script can bring the tile server back to a clean state without touching the database.
Where vector tiles come from
Vector tile sources are flexible. They can be generated on the fly from the OpenMapTiles database, pulled from another external source, or read from local MBTiles files. One caveat stands out: the TileJSON URLs from the vector producer point at internal docker compose hosts, so they must be redefined as public URLs for the outside world.
Measured performance
The README publishes numbers for an 8 CPU setup. Import times range from Andorra at about a minute to Europe at eleven and a half hours, with Postgres sizes climbing from 167 MB to 206 GB. Tile request delays land around 49 to 60 ms at different zoom levels over mixed Europe, jump to 250 ms for urban Paris at zoom 14, and drop to 5 ms from cache. Metrics logs sit off by default and turn on with a benchmark compose file.
Editorial conclusion
Makina Maps renders vector and raster tiles on request from OpenStreetMap data, using OpenMapTiles, TileServer GL, and an nginx cache, with documented import sizes and query delays for an 8 CPU setup.
Community notes