- 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: