1,249 karma · joined August 14, 2015
personal website: https://hyperknot.com/
email: zsolt@maphub.net
The Vatican situation is trickier than you'd think, as it's on country level, while Rome is on city level, and naturally you'd want to give countries a priority over cities. Like on low zooms you only want to show countries, then as it gets closer you show cities. Well, except for Vatican.
Of course, you have 100% control over exactly what controls you configure with MapLibre, when you set up your app.
For MapHub to work, I had to invest in my own tile server infrastructure: there is no way I could have made MapHub financially profitable with a 3rd party tile provider. So I kept iterating and iterating on the tile server infrastructure and after 9 years I arrived at a state which was worth open-sourcing.
I'm happy if this project gets to the point from sponsorship where my hosting bill is covered ($175 per month), but it doesn't have to be financially successful on its own.
I'll keep working on it because it's part of my main business, not because I beg for donations.
I honestly believe this project can cover $175 per month eventually.
Of course there is the countless hours which went and which can possibly go into this, but to cover the hosting is still meaningful.
At that point, the difference between the two projects is mostly which schema is being used.
btrfs.openfreemap.com just a public Cloudflare bucket, no idea why it might be slow.
The fact that there is no service running was the more important for me. Mostly for security and bugs. I had so many problems with various tile servers in production, they needed daily restarting, they had memory leaks, etc.
Basically I wanted to go nginx-only for security and to avoid tile server bugs.
I can imagine workers to be fast, it's the range requests which are super slow. It's also outside of your control, it depends on how Cloudflare and S3 handles range requests to 90 GB files.
I think if you could make PMTiles split into files <10 MB, it'd be perfect with range requests.
In total, there are 271 million hard links. So out of 300 million files 271 are hard links!
The file system limit is 64k hard-links for the same file, so I have to handle the case when it's reached and then start a new file for the next 64k.
I think it would be quite a straightforward task to transform it into a Docker file. I'd be happy to link to it on GitHub.
- There is the Protomaps schema. It's competing with OpenMapTiles and Shortbread (https://shortbread-tiles.org/)
- There is the Protomaps file format. It's competing with MBTiles and say Btrfs images in OpenFreeMap.
- There is the Protomaps styles. It's competing with OSM Liberty and OSM Bright styles (https://github.com/maputnik/osm-liberty)
- There is the way to host the tiles, on CloudFlare workers, range requests, etc. It's competing with MBTiles servers or OpenFreeMap's nginx servers.
About getting abuse, how do you imagine it gets abuse? It's a static file showing OpenStreetMap data.
I mean traffic is the only thing what can be a problem, but I think Hetzner should be good till 30-100 TB per server.