// the find
Overv/openstreetmap-tile-server
Docker file for a minimal effort OpenStreetMap tile server
A Docker image that wraps the full OSM tile server stack (osm2pgsql, renderd, Apache mod_tile) into a two-phase import/run workflow. You hand it a .osm.pbf file, it imports into PostGIS, then serves PNG tiles on port 8080. For anyone who has tried setting up a tile server from scratch, this saves several hours of dependency hell.
The two-phase import/run split is the right design — import once, run indefinitely, volumes persist state across container restarts. Automatic diff updates via osm2pgsql-replication with per-region .poly filtering is genuinely useful and not trivial to get right. Environment-variable knobs for threads, cache size, shared memory, and tile expiry zoom levels give you real control without patching config files. The FLAT_NODES option for planet-scale imports is documented with its caveats, which is honest.
Frozen on Ubuntu 18.04 LTS and the project hasn't had a meaningful push since April 2024 — osm2pgsql has had significant updates (flex output, better RAM handling) that aren't here. The style customization is limited to openstreetmap-carto variants with exactly one lua/style/mml/sql file; any multi-file style breaks it. Bundling PostgreSQL inside the same container is the easy path but makes it awkward to scale — if you want the DB on separate hardware or a managed service, you're mostly on your own. No health check endpoint or readiness signal, so orchestrators have no way to know when renderd is actually ready to serve tiles.