Merge pull request #14 from timlinux/develop

Updated readme and docker-compose. Latter now includes list of defaul…
pull/16/head
Tim Sutton 2015-07-31 22:22:42 +02:00
commit 1ef75cdbda
2 zmienionych plików z 90 dodań i 18 usunięć

Wyświetl plik

@ -15,6 +15,8 @@ db:
- USERNAME=docker
- PASS=docker
# - HSTORE=true
ports:
- 5432:5432
imposm:
#image: kartoza/imposm
@ -29,8 +31,29 @@ imposm:
- PORT=5432
- HOST=db
- DATEBASE=gis
# in seconds
# seconds between 2 executions of the script
- TIME=120
# folder for settings (with *.json and *.sql)
- SETTINGS = settings
# folder for caching
- CACHE = cache
# folder the OSM file
- BASE_PBF = base_pbf
# folder for diff which has been imported
- IMPORT_DONE = import_done
# folder for diff which hasn't been imported yet
- IMPORT_QUEUE = import_queue
# it can be 3857
- SRID = 4326
# see http://imposm.org/docs/imposm3/latest/tutorial.html#optimize
- OPTIMIZE = false
# see http://imposm.org/docs/imposm3/latest/tutorial.html#deploy-production-tables
- DBSCHEMA_PRODUCTION = public
# http://imposm.org/docs/imposm3/latest/tutorial.html#deploy-production-tables
- DBSCHEMA_IMPORT = import
# http://imposm.org/docs/imposm3/latest/tutorial.html#deploy-production-tables
- DBSCHEMA_BACKUP = backup
osmupdate:
#image: etrimaille/osmupdate
@ -38,5 +61,19 @@ osmupdate:
volumes_from:
- storage
environment:
# in seconds
- TIME=120
# These are all currently the defaults but listed here for your
# convenience if you want to change them
# the maximum time range to assamble a cumulated changefile.
- MAX_DAYS = 100
# osmupdate uses a combination of minutely, hourly and daily changefiles. This value can be minute, hour, day or sporadic.
- DIFF = sporadic
# argument to determine the maximum number of parallely processed changefiles.
- MAX_MERGE = 7
# define level for gzip compression. values between 1 (low compression but fast) and 9 (high compression but slow)
- COMPRESSION_LEVEL = 1
# change the URL to use a custom URL to fetch regional file updates.
- BASE_URL = http://planet.openstreetmap.org/replication/
- IMPORT_QUEUE = import_queue
- IMPORT_DONE = import_done
- OSM_PBF = osm_pbf
- TIME = 120, seconds between each execution of the script

Wyświetl plik

@ -1,34 +1,50 @@
#Docker-OSM
## Usage
In this example we will set up an OSM database for South Africa that
will pull for updates every 2 minutes.
First fetch the latest South Africa osm binary dump file (.pbf) and state file.
I will write the example as generically as possible so that you can substitute
your own country or region here.
```
cd osm_pbf
wget -c -O country.pbf http://download.openstreetmap.fr/extracts/africa/south_africa.osm.pbf
wget -c -O country.state.txt http://download.openstreetmap.fr/extracts/africa/south_africa.state.txt
wget -c -O polygon.poly http://download.geofabrik.de/africa/south-africa-and-lesotho.poly
```
or you can use the PBF downloader using Geofabrik.
To get the list of available countries in Geofabrik :
First get the list of available countries in Geofabrik :
``python pbf_downloader.py list``
Now fetch the latest South Africa osm binary dump file (.pbf) and state files:
You can download a country or a continent :
``python pbf_downloader.py south-africa-and-lesotho``
The script will download the PBF file, the state file and the polygon for clipping.
As an alternative to the above (not all countries are available from geofabrik), you
can also fetch the pbf from another site such as shown in the example below which
will fetch the latest South Africa osm binary dump file (.pbf) and state file from
the French openstreetmap site. Note that you need the ```wget``` command line
application installed on your computer to follow the instructions below.
```
cd settings
wget -c -O country.pbf http://download.openstreetmap.fr/extracts/africa/south_africa.osm.pbf
wget -c -O country.state.txt http://download.openstreetmap.fr/extracts/africa/south_africa.state.txt
wget -c -O polygon.poly http://download.geofabrik.de/africa/south-africa-and-lesotho.poly
```
You can also visit the http://download.openstreetmap.fr/extracts/ site and
download the extract you want manually using your browser.
Now build the docker images needed to run the application:
```
docker-compose build
docker-compose up
```
In production you should daemonize the services when bringing them up:
```
docker-compose up -d
```
## Docker OSM Update
This docker image when run will fetch on a regular interval any new diff file
@ -69,13 +85,16 @@ With -e, you can add some settings :
- IMPORT_QUEUE = import_queue
- IMPORT_DONE = import_done
- OSM_PBF = osm_pbf
- TIME = 120, secondes between two executions of the script
- TIME = 120, seconds between two executions of the script
If you are using docker-compose, you can use these settings within the
```docker-compose.yml``` file.
## Docker ImpOSM3
This image will take care of doing the initial load for the selected region
(e.g. planet, or a country such as Malawi) into your database. It will then
apply at a regulart interval (default is 2 minutes) any diff that arrives
apply, at a regular interval (default is 2 minutes), any diff that arrives
in the /home/import_queue folder to the postgis OSM database. The diffs
are fetched by a separate container (see osm_update container).
@ -98,3 +117,19 @@ With -e, you can add some settings :
- DBSCHEMA_PRODUCTION = public, check (Imposm)[http://imposm.org/docs/imposm3/latest/tutorial.html#deploy-production-tables]
- DBSCHEMA_IMPORT = import, check (Imposm)[http://imposm.org/docs/imposm3/latest/tutorial.html#deploy-production-tables]
- DBSCHEMA_BACKUP = backup, check (Imposm)[http://imposm.org/docs/imposm3/latest/tutorial.html#deploy-production-tables]
You can adjust these preferences in the ```docker-compose.yml``` file provided
in this repository.
# Credits
This application was designed and implemented by:
* Etienne Trimaille (etienne@kartoza.com)
* Tim Sutton (tim@kartoza.com)
With some important design ideas provided by Ariel Nunez (ingenieroariel@gmail.com).
Parts of this project are built on the existing work of others.
July 2015