How to make self-hosted maps that work everywhere and cost next to nothing
Over the past few years, an emerging ecosystem of open-source tools has made self-hosting a map stack both viable and affordable. Beyond cost, self-hosting creates a level of security and durability that’s hard to find with third-party services, which are always at risk of being bought, shut down or simply broken by neglect.
What's funny to me is that this is almost exactly how Paul Smith started off his article in 2008 extolling the virtues of building and hosting your own maps. 16 years later, nothing has changed: most people use hosted services but a few have seen how it's reasonable to make and host your own maps.
Paul's article was what first got me interested in making custom maps, which has been a hobby for me for some time now, so I hope this article does the same for a newer generation.
The article suggests:
- getting data from pmtiles, using the extract command to pull a region from the global daily builds that give the full OSM tiles for the world
- Using Tippecanoe to bake your data into the tile extract
- mentions planetiler and tilemaker as options
- use MapLibre to display the map
- fly.io, R2 or google pages for hosting
links to simon willison's similar article, Serving a custom vector web map using PMTiles and maplibre-gl
links to this github repo, implementing a demonstration workflow
here is a similar repo to that one, a self-hosted map setup with pmtiles and Tippecanoe
see also create your own vector tiles