finds.dev← search

// the find

Overv/openstreetmap-tile-server

★ 1,445 · Shell · Apache-2.0 · updated Apr 2024

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.

View on GitHub →

// want more like this?

We dig through GitHub every week and send a few repos picked for what you actually care about — each with an honest take like this one.

Get finds in your inbox → Search again →