bridgehead/c4/docker-compose.yml

158 lines
4.7 KiB
YAML

version: "3.7"
volumes:
connector_db_data:
connector_logs:
patientlist_db_data:
patientlist_logs:
idmanager_logs:
store_db_data:
store_logs:
services:
traefik:
container_name: traefik
image: traefik:2.4
command:
- --api.insecure=true
- --entrypoints.web.address=:80
- --entrypoints.web-secure.address=:443
- --providers.docker=true
environment:
http_proxy: ""
HTTP_PROXY: ""
https_proxy: ""
HTTPS_PROXY: ""
ports:
- 80:80
- 443:443
- 8080:8080
volumes:
- /var/run/docker.sock:/var/run/docker.sock:ro
landing:
container_name: landingpage
image: nginx:stable
volumes:
- ../landing/:/usr/share/nginx/html
labels:
- "traefik.enable=true"
- "traefik.http.routers.landing.rule=PathPrefix(`/`)"
- "traefik.http.services.landing.loadbalancer.server.port=80"
connector:
container_name: c4-connector
image: "samply/share-client:c4-feature-environmentPreconfigurationTorben"
environment:
STORE_URL: http://store:8080
LDM_URL: http://store:8080
POSTGRES_PASSWORD: ${CONNECTOR_POSTGRES_PASS}
volumes:
- "connector_logs:/usr/local/tomcat/logs"
labels:
- "traefik.enable=true"
- "traefik.http.routers.c4_connector.rule=PathPrefix(`/c4-connector`)"
- "traefik.http.services.c4_connector.loadbalancer.server.port=8080"
depends_on:
- connector-db
restart: always
connector-db:
container_name: connector-db
image: postgres:10.17
environment:
POSTGRES_DB: "share_v2"
POSTGRES_USER: "samplyweb"
POSTGRES_PASSWORD: ${CONNECTOR_POSTGRES_PASS}
volumes:
- "connector_db_data:/var/lib/postgresql/data"
restart: always
idmanager:
container_name: idmanager
image: docker.verbis.dkfz.de/ccp/idmanager:bridgehead-develop
environment:
TOMCAT_REVERSEPROXY_FQDN: ${HOST}
MAGICPL_SITE: ${SITE}
MAGICPL_MAINZELLISTE_API_KEY: ${MAGICPL_MAINZELLISTE_API_KEY}
MAGICPL_API_KEY: ${MAGICPL_API_KEY}
MAGICPL_API_KEY_CONNECTOR: ${MAGICPL_API_KEY_CONNECTOR}
MAGICPL_MAINZELLISTE_CENTRAL_API_KEY: ${MAGICPL_MAINZELLISTE_CENTRAL_API_KEY}
MAGICPL_CENTRAL_API_KEY: ${MAGICPL_CENTRAL_API_KEY}
MAGICPL_OIDC_CLIENT_ID: ${MAGICPL_OIDC_CLIENT_ID}
MAGICPL_OIDC_CLIENT_SECRET: ${MAGICPL_OIDC_CLIENT_SECRET}
volumes:
- "idmanager_logs:/usr/local/tomcat/logs"
depends_on:
- patientlist
labels:
- "traefik.http.routers.idmanager.rule=PathPrefix(`/ID-Manager`)"
- "traefik.http.services.idmanager.loadbalancer.server.port=8080"
patientlist:
container_name: patientlist
image: docker.verbis.dkfz.de/ccp/patientlist:bridgehead-develop
environment:
ML_SITE: ${SITE}
ML_API_KEY: ${ML_API_KEY}
TOMCAT_REVERSEPROXY_FQDN: ${HOST}
env_file:
# TODO: Implement automatic seed generation in mainzelliste
- ../site-config/patientlist.env
volumes:
- "patientlist_logs:/usr/local/tomcat/logs"
labels:
- "traefik.http.routers.patientlist.rule=PathPrefix(`/Patientlist`)"
- "traefik.http.services.patientlist.loadbalancer.server.port=8080"
depends_on:
- patientlist-db
patientlist-db:
container_name: patientlist-db
image: postgres:13.1-alpine
environment:
POSTGRES_DB: mainzelliste
POSTGRES_USER: mainzelliste
POSTGRES_PASSWORD: ${ML_DB_PASS}
TZ: "Europe/Berlin"
volumes:
- "patientlist_db_data:/var/lib/postgresql/data"
store:
container_name: bridgehead_c4_store
image: docker.verbis.dkfz.de/ccp/samply.store:release-5.1.2
environment:
POSTGRES_HOST: bridgehead_c4_store_db
POSTGRES_PORT: 5432
POSTGRES_DB: samplystore
POSTGRES_USER: samplystore
POSTGRES_PASSWORD: samplystore
TZ: Europe/Berlin
volumes:
- "store_logs:/usr/local/tomcat/logs"
labels:
- "traefik.enable=true"
- "traefik.http.routers.store_c4.rule=PathPrefix(`/c4-loc\
aldatamanagement`)"
depends_on:
- store_db
restart: always
env_file:
###TODO: Move into Image
- internal.env
store_db:
container_name: bridgehead_c4_store_db
image: postgres:9.5-alpine
command: postgres -c datestyle='iso, dmy'
environment:
POSTGRES_PORT: 5432
POSTGRES_DB: samplystore
POSTGRES_USER: samplystore
POSTGRES_PASSWORD: samplystore
volumes:
- "store_db_data:/var/lib/postgresql/data"
restart: always
env_file:
###TODO: Move into Image
- internal.env