docker-osm/docker-compose.yml

156 wiersze
5.2 KiB
YAML

version: '2.1'
volumes:
osm-postgis-data:
import_done:
import_queue:
cache:
pg:
grafana:
pw2:
osm_settings:
services:
db:
# About the postgresql version, it should match in the dockerfile of docker-imposm3
image: kartoza/postgis:12.0
hostname: db
container_name: dockerosm_db
environment:
- POSTGRES_USER=docker
- POSTGRES_PASS=docker
- POSTGRES_DBNAME=gis
# Uncomment to expose the postgis database on the network
# - ALLOW_IP_RANGE= 0.0.0.0/0
volumes:
- osm-postgis-data:/var/lib/postgresql
# Uncomment to use the postgis database from outside the docker network
# ports:
# - "35432:5432"
healthcheck:
test: "exit 0"
osm_downloader:
image: kartoza/docker-osm:pbf-downloader
build: docker-osm-pbf
container_name: dockerosm_pbf_download
volumes:
# These are sharable to other containers
- osm_settings:/home/settings
environment:
# Read the README in docker-osm-pbf
- CONTINENT=africa
- COUNTRY=lesotho
- BASE_URL=http://download.geofabrik.de
- MAPPING_URL=https://raw.githubusercontent.com/kartoza/docker-osm/develop/settings
- GEOJSON_URL=''
imposm:
image: kartoza/docker-osm:imposm-latest
build: docker-imposm3
container_name: dockerosm_imposm
volumes:
# These are sharable to other containers
- osm_settings:/home/settings
- import_done:/home/import_done
- import_queue:/home/import_queue
- cache:/home/cache
depends_on:
db:
condition: service_healthy
osm_downloader:
condition: service_started
environment:
- POSTGRES_USER=docker
- POSTGRES_PASS=docker
- POSTGRES_DBNAME=gis
- POSTGRES_PORT=5432
- POSTGRES_HOST=db
# seconds between 2 executions of the script
# if 0, then no update will be done, only the first initial import from the PBF
- TIME=120
# folder for settings (with *.json and *.sql)
- SETTINGS=settings
# folder for caching
- CACHE=cache
# 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
# Install some styles if you are using the default mapping. It can be 'yes' or 'no'
- QGIS_STYLE=yes
# Use clip in the database - To use this you should have run make import_clip to add your clip to the DB
- CLIP=no
osmupdate:
build: docker-osmupdate
image: kartoza/docker-osm:osmupdate-latest
container_name: dockerosm_osmupdate
volumes:
# These are sharable to other containers
- osm_settings:/home/settings
- import_done:/home/import_done
- import_queue:/home/import_queue
- cache:/home/cache
depends_on:
db:
condition: service_healthy
osm_downloader:
condition: service_started
environment:
# These are all currently the defaults but listed here for your
# convenience if you want to change them
# the maximum time range to assemble 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/
# folder for diff which hasn't been imported yet
- IMPORT_QUEUE=import_queue
# folder for diff which has been imported
- IMPORT_DONE=import_done
# seconds between 2 executions of the script
# if 0, then no update will be done, only the first initial import from the PBF
- TIME=120
pgwatch2:
image: cybertec/pgwatch2-postgres
hostname: pgwatch2
volumes:
- pg:/var/lib/postgresql
- grafana:/var/lib/grafana
- pw2:/pgwatch2/persistent-config
environment:
- PW2_TESTDB=false
- PW2_PG_SCHEMA_TYPE=metric-dbname-time
- PW2_WEBNOANONYMOUS=true
- PW2_WEBUSER=admin
- PW2_WEBPASSWORD=pgwatch2
- PW2_WEBNOCOMPONENTLOGS=false
- PW2_WEBHOST=0.0.0.0
- PW2_WEBPORT=8080
- PW2_GRAFANANOANONYMOUS=true
- PW2_GRAFANAUSER=admin
- PW2_GRAFANAPASSWORD=pgwatch2
- PW2_GRAFANA_BASEURL=http://0.0.0.0:3000
restart: on-failure
ports:
- 3000:3000
- 8080:8080
depends_on:
db:
condition: service_healthy