# This version must match the MAKE_DC_VERSION value below version: "3" volumes: pgdata: networks: postgres: driver: bridge services: postgres: image: "${POSTGIS_IMAGE:-openmaptiles/postgis}:${TOOLS_VERSION}" # Use "command: postgres -c jit=off" for PostgreSQL 11+ because of slow large MVT query processing # Use "shm_size: 512m" if you want to prevent a possible 'No space left on device' during 'make generate-tiles-pg' volumes: - pgdata:/var/lib/postgresql/data networks: - postgres ports: - "${PGPORT:-5432}:${PGPORT:-5432}" env_file: .env environment: # postgress container uses old variable names POSTGRES_DB: ${PGDATABASE:-openmaptiles} POSTGRES_USER: ${PGUSER:-openmaptiles} POSTGRES_PASSWORD: ${PGPASSWORD:-openmaptiles} PGPORT: ${PGPORT:-5432} import-data: image: "openmaptiles/import-data:${TOOLS_VERSION}" env_file: .env networks: - postgres openmaptiles-tools: &openmaptiles-tools image: "openmaptiles/openmaptiles-tools:${TOOLS_VERSION}" env_file: .env environment: # Must match the version of this file (first line) # download-osm will use it when generating a composer file MAKE_DC_VERSION: "3" # Allow DIFF_MODE, MIN_ZOOM, and MAX_ZOOM to be overwritten from shell DIFF_MODE: ${DIFF_MODE} MIN_ZOOM: ${MIN_ZOOM} MAX_ZOOM: ${MAX_ZOOM} #Provide BBOX from *.bbox file if exists, else from .env BBOX: ${BBOX} # Imposm configuration file describes how to load updates when enabled IMPOSM_CONFIG_FILE: ${IMPOSM_CONFIG_FILE} # Control import-sql processes MAX_PARALLEL_PSQL: ${MAX_PARALLEL_PSQL} PGDATABASE: ${PGDATABASE:-openmaptiles} PGUSER: ${PGUSER:-openmaptiles} PGPASSWORD: ${PGPASSWORD:-openmaptiles} PGPORT: ${PGPORT:-5432} MBTILES_FILE: ${MBTILES_FILE} networks: - postgres volumes: - .:/tileset - ./data:/import - ./data:/export - ./build/sql:/sql - ./build:/mapping - ./cache:/cache - ./style:/style update-osm: <<: *openmaptiles-tools command: import-update generate-changed-vectortiles: image: "openmaptiles/generate-vectortiles:${TOOLS_VERSION}" command: ./export-list.sh volumes: - ./data:/export - ./build/openmaptiles.tm2source:/tm2source networks: - postgres env_file: .env environment: MBTILES_NAME: ${MBTILES_FILE} # Control tilelive-copy threads COPY_CONCURRENCY: ${COPY_CONCURRENCY} PGDATABASE: ${PGDATABASE:-openmaptiles} PGUSER: ${PGUSER:-openmaptiles} PGPASSWORD: ${PGPASSWORD:-openmaptiles} PGPORT: ${PGPORT:-5432} generate-vectortiles: image: "openmaptiles/generate-vectortiles:${TOOLS_VERSION}" volumes: - ./data:/export - ./build/openmaptiles.tm2source:/tm2source networks: - postgres env_file: .env environment: MBTILES_NAME: ${MBTILES_FILE} BBOX: ${BBOX} MIN_ZOOM: ${MIN_ZOOM} MAX_ZOOM: ${MAX_ZOOM} # Control tilelive-copy threads COPY_CONCURRENCY: ${COPY_CONCURRENCY} # PGDATABASE: ${PGDATABASE:-openmaptiles} PGUSER: ${PGUSER:-openmaptiles} PGPASSWORD: ${PGPASSWORD:-openmaptiles} PGPORT: ${PGPORT:-5432} postserve: image: "openmaptiles/openmaptiles-tools:${TOOLS_VERSION}" command: "postserve ${TILESET_FILE} --verbose --serve=${OMT_HOST:-http://localhost}:${PPORT:-8090}" env_file: .env environment: TILESET_FILE: ${TILESET_FILE} networks: - postgres ports: - "${PPORT:-8090}:${PPORT:-8090}" volumes: - .:/tileset maputnik_editor: image: "maputnik/editor" ports: - "8088:8888" tileserver-gl: image: "maptiler/tileserver-gl:latest" command: - --port - "${TPORT:-8080}" - --config - "/style/config.json" ports: - "${TPORT:-8080}:${TPORT:-8080}" volumes: - ./data:/data - ./style:/style - ./build:/build