Skip to content

Instantly share code, notes, and snippets.

@zubair1024
Last active December 21, 2019 22:22
Show Gist options
  • Star 0 You must be signed in to star a gist
  • Fork 0 You must be signed in to fork a gist
  • Save zubair1024/dd669356f042cc8db8eed3b551608e69 to your computer and use it in GitHub Desktop.
Save zubair1024/dd669356f042cc8db8eed3b551608e69 to your computer and use it in GitHub Desktop.

Setting up OSM tile server using Docker

  • Download map layers

wget https://download.geofabrik.de/asia/gcc-states-latest.osm.pbf

  • Make volume for osm data

docker volume create openstreetmap-data

  • Make volume for caching

docker volume create openstreetmap-rendered-tiles

  • Import layer data into postgres

docker run -v /root/osm/gcc-states-latest.osm.pbf:/data.osm.pbf -v openstreetmap-data:/var/lib/postgresql/12/main -v openstreetmap-rendered-tiles:/var/lib/mod_tile overv/openstreetmap-tile-server import

  • Run the server

docker run -p 80:80 --restart always -e THREADS=24 -e "OSM2PGSQL_EXTRA_ARGS=-C 4096" -v openstreetmap-data:/var/lib/postgresql/12/main -v openstreetmap-rendered-tiles:/var/lib/mod_tile -e ALLOW_CORS=1 -d overv/openstreetmap-tile-server run

Voila! You're done. OSM tiles should be running on port 80.

Note: You can pre-render the files using the following command:

docker exec -it <container-id> render_list -a -f -m ajt -z 0 -Z 8

Happy Grizzly Coding!

Sources:

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment