RB
osmbox
Docker images for creating an OpenStreetMap tile server.
Components
- osmbox-db - PostgreSQL database server with PostGIS and hstore.
- osmbox-import - Imports OSM data into PostgreSQL using imposm.
- osmbox-style - Converts CartoCSS to Mapnik format.
- osmbox-tile - Runs a tile server using Apache, mod_tile, renderd, and Mapnik.
Usage
Create docker images.
docker build -t osmbox-db:latest db
docker build -t osmbox-import:latest import
docker build -t osmbox-style:latest style
docker build -t osmbox-tile:latest tile
Create a volume to store the database.
docker volume create osmbox-db
Start the database. Change the username and password.
docker run -d --name osmbox_db \
-e POSTGRES_USER=powerpy \
-e POSTGRES_PASSWORD=randomword \
-e POSTGRES_DB=powerpy \
--mount source=osmbox-db,target=/var/lib/postgresql/data \
osmbox-db:latest
Put imposm mapping.yml file in the styles directory.
Put the file to load in the source directory. The file can be a .pbf or a .zip
file containing an .osm file.
Import data.
docker run \
--link osmbox_db:db \
-e POSTGRESQL_USER=powerpy \
-e POSTGRESQL_PASSWORD=randomword \
-e POSTGRESQL_DATABASE=powerpy \
-v $PWD/styles:/opt/osmbox \
-v $PWD/source:/var/osm \
osmbox-import:latest $@
Put layers and CartoCSS stylesheets in the styles directory.
Generate Mapnik style from CartoCSS.
docker run \
-e POSTGRES_USER=powerpy \
-e POSTGRES_PASSWORD=randomword \
-e POSTGRES_DB=powerpy \
-v $PWD/styles:/opt/osmbox \
-v $PWD/styles-out:/var/osmbox \
osmbox-style:latest
Start the tile server.
docker run -d \
--name osmbox_tile \
--link osmbox_db:db \
-e POSTGRES_USER=powerpy \
-e POSTGRES_PASSWORD=randomword \
-e POSTGRES_DB=powerpy \
-v $PWD/styles-out:/var/osmbox \
-p 8112:80 \
osmbox-tile:latest
Credits
Based on the work of:
On this page
Languages
Python36.3%PLpgSQL28.8%Dockerfile28.6%Shell6.3%
Contributors
Apache License 2.0
Created February 10, 2018
Updated April 22, 2020