Documentation / reproducibility of rendering pipeline at https://www.openstreetmap.org

Is the rendering pipeline for https://www.openstreetmap.org documented / open-source / reproducible?

(originally asked at Clarify if rendering pipeline from https://www.openstreetmap.org/ is open-source / reproducible or not · Issue #7314 · openstreetmap/openstreetmap-website · GitHub )

Thank you!

Most OSMF operated infrastructure is orchestrated via Chef (a configuration mangement system), and you can view everything here: GitHub - openstreetmap/chef: Chef configuration management repo for configuring & maintaining the OpenStreetMap servers. · GitHub

So yes it’s documented (fsvo) and open-source and reproducible, for someone who knows Chef. Someone who doesn’t and wants to set up some sort of rendering pipeline would be better off with switch2osm.org which is written for a human audience.

Specifically chef/cookbooks/tile/recipes/default.rb at master · openstreetmap/chef · GitHub is the recipe for a tile server.

Thinking of it as a pipeline is probably an error in any case - it’s not “put planet in one end and get a set of tiles out the other” because we never actually build a full set of tiles. Rather it’s a recipe for keeping a rendering database up to date on a continual basis and running something to produce tiles from that database on demand.

(answering for the manual server options at switch2osm.org)

Yes, yes, mostly.

The third is only “mostly” because what you see in an on-screen map dependa on a whole bunch of things that might potentially change, including the edits that othet people make, and how frequently you update the map based on those edits, and using what mechanism. Also some SQL queries might return data in a different order at different times; it’s not unusual to see slight differences in raster tiles between “identical” servers.

If you can expand more on the question, including explaining why it is important to you, people can provide more help.

Thank you for your explanations! I think it would be great to have this description somewhere in the docs (linked at https://www.openstreetmap.org or at least a more detailed description at switch2osm.org

My original interest was to render tiles for a small area - e.g. for one city or even one neihborhood of a city and static self-serving (for a small landing page), but have the tiles exactly the same as server by OSMorg (and thus avoid any scraping). So maybe for some limited scenarios of static self-hosting, the usecase “put planet/country osm.pbf as input and get a bunch of tile files / tile database (rendered exactly the same tiles as served by OSMorg because I like OSM style) as output” can be reasonable