185 lines
4.7 KiB
YAML
185 lines
4.7 KiB
YAML
# This docker-compose file is intended for development use. You can simply run
|
|
# `docker-compose up -d` in the repository and it should build and run all
|
|
# required parts of the application. See README.md for details.
|
|
#
|
|
# For a production docker setup, please check the corresponding documentation.
|
|
|
|
version: '3'
|
|
|
|
services:
|
|
mongo:
|
|
image: mongo
|
|
tty: true
|
|
volumes:
|
|
- ./local/mongo:/data/db
|
|
ports:
|
|
- '27017:27017'
|
|
restart: on-failure
|
|
|
|
postgres:
|
|
image: "openmaptiles/postgis:6.0"
|
|
environment:
|
|
POSTGRES_USER: obs
|
|
POSTGRES_PASSWORD: obs
|
|
POSTGRES_DB: obs
|
|
ports:
|
|
- '5432:5432'
|
|
volumes:
|
|
- ./local/postgres/data:/var/lib/postgresql/data
|
|
|
|
api:
|
|
image: openbikesensor-api
|
|
build:
|
|
context: ./api/
|
|
dockerfile: Dockerfile
|
|
volumes:
|
|
- ./api/obs:/opt/obs/api/obs
|
|
- ./api/scripts/obs:/opt/obs/scripts/obs
|
|
- ./api/tools:/opt/obs/api/tools
|
|
- ./api/config.dev.py:/opt/obs/api/config.py
|
|
- ./frontend/build:/opt/obs/frontend/build
|
|
- ./local/api-data:/data
|
|
links:
|
|
- postgres
|
|
- keycloak
|
|
ports:
|
|
- '3000:3000'
|
|
restart: on-failure
|
|
command:
|
|
- openbikesensor-api
|
|
|
|
worker:
|
|
image: openbikesensor-api
|
|
build:
|
|
context: ./api/
|
|
dockerfile: Dockerfile
|
|
volumes:
|
|
- ./api/obs:/opt/obs/api/obs
|
|
- ./api/scripts/obs:/opt/obs/scripts/obs
|
|
- ./api/tools:/opt/obs/api/tools
|
|
- ./api/config.dev.py:/opt/obs/api/config.py
|
|
- ./local/api-data:/data
|
|
links:
|
|
- postgres
|
|
- keycloak
|
|
restart: on-failure
|
|
command:
|
|
- python
|
|
- tools/process_track.py
|
|
|
|
frontend:
|
|
image: openbikesensor-frontend
|
|
build:
|
|
context: ./frontend
|
|
volumes:
|
|
- ./frontend/src:/opt/obs/frontend/src
|
|
- ./frontend/public:/opt/obs/frontend/public
|
|
- ./frontend/tsconfig.json:/opt/obs/frontend/tsconfig.json
|
|
- ./frontend/package.json:/opt/obs/frontend/package.json
|
|
|
|
# Overwrite the default config with the development mode configuration
|
|
- ./frontend/config.dev.json:/opt/obs/frontend/public/config.json
|
|
environment:
|
|
- PORT=3000
|
|
links:
|
|
- api
|
|
- tileserver
|
|
ports:
|
|
- '3001:3000'
|
|
restart: on-failure
|
|
command:
|
|
- npm
|
|
- start
|
|
|
|
openmaptiles-tools:
|
|
image: openmaptiles/openmaptiles-tools:6.0
|
|
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: obs
|
|
PGUSER: obs
|
|
PGPASSWORD: obs
|
|
PGHOST: postgres
|
|
PGPORT: 5432
|
|
volumes:
|
|
- ./tile-generator/:/tileset
|
|
- ./tile-generator/data:/import
|
|
- ./tile-generator/data:/export
|
|
- ./tile-generator/build/sql:/sql
|
|
- ./tile-generator/build:/mapping
|
|
- ./tile-generator/cache:/cache
|
|
|
|
generate-vectortiles:
|
|
image: openmaptiles/generate-vectortiles:6.0
|
|
volumes:
|
|
- ./tile-generator/data:/export
|
|
- ./tile-generator/build/openmaptiles.tm2source:/tm2source
|
|
environment:
|
|
MBTILES_NAME: ${MBTILES_FILE}
|
|
BBOX: ${BBOX}
|
|
MIN_ZOOM: ${MIN_ZOOM}
|
|
MAX_ZOOM: ${MAX_ZOOM}
|
|
# Control tilelive-copy threads
|
|
COPY_CONCURRENCY: ${COPY_CONCURRENCY}
|
|
#
|
|
PGDATABASE: obs
|
|
PGUSER: obs
|
|
PGPASSWORD: obs
|
|
PGHOST: postgres
|
|
PGPORT: 5432
|
|
|
|
tileserver:
|
|
image: klokantech/tileserver-gl
|
|
ports:
|
|
- 3002:80
|
|
volumes:
|
|
- ./tile-generator/tileserver-gl-config.json:/config/tileserver.json
|
|
- ./tile-generator/data/:/data
|
|
command:
|
|
- --config
|
|
- /config/tileserver.json
|
|
|
|
keycloak:
|
|
image: jboss/keycloak
|
|
ports:
|
|
- 3003:8080
|
|
links:
|
|
- postgres
|
|
environment:
|
|
KEYCLOAK_USER: admin
|
|
KEYCLOAK_PASSWORD: admin
|
|
KEYCLOAK_FRONTEND_URL: http://localhost:3003/auth/
|
|
DB_VENDOR: postgres
|
|
DB_ADDR: postgres
|
|
DB_DATABASE: obs
|
|
DB_USER: obs
|
|
DB_PASSWORD: obs
|
|
# DB_SCHEMA: keycloak
|
|
|
|
prod-test:
|
|
image: openbikesensor-portal
|
|
build:
|
|
context: ./
|
|
dockerfile: Dockerfile
|
|
volumes:
|
|
- ./api/config.prod-test.py:/opt/obs/api/config.py
|
|
- ./local/api-data:/data
|
|
links:
|
|
- postgres
|
|
- keycloak
|
|
ports:
|
|
- '3000:3000'
|
|
restart: on-failure
|