bridgehead/c4/docker-compose.yml

155 lines
4.8 KiB
YAML

version: "3.7"
volumes:
connector_db_data:
connector_logs:
patientlist_db_data:
patientlist_logs:
idmanager_logs:
store_db_data:
store_logs:
secrets:
mainzelliste.docker.conf:
file: ../internal-configuration/mainzelliste.conf
magicpl.docker.xml:
file: ../internal-configuration/magicpl.xml
dktk_bridgehead_info.docker.xml:
file: ../internal-configuration/bridgehead-common.xml
centralSearchPublicKey:
file: ../internal-configuration/centralSearchPublicKey.der
proxy.docker.xml:
file: ../internal-configuration/proxy.xml
services:
traefik:
container_name: bridgehead_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: bridgehead_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: bridgehead_c4_connector
image: docker.verbis.dkfz.de/ccp/connector:3
environment:
STORE_URL: http://bridgehead_c4_store:8080
LDM_URL: http://bridgehead_c4_store:8080
POSTGRES_HOST: ${CONNECTOR_DB_HOST}
POSTGRES_PASSWORD: ${CONNECTOR_POSTGRES_PASS}
NNGM_PASSWORD: ${NNGM_PASSWORD}
NNGM_MAINZELLISTE_APIKEY: ${NNGM_MAINZELLISTE_APIKEY}
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
env_file:
###TODO: Move into Image
- internal.env
connector_db:
container_name: bridgehead_c4_connector_db
image: postgres:10.17
environment:
POSTGRES_HOST: ${CONNECTOR_DB_HOST}
POSTGRES_PASSWORD: ${CONNECTOR_POSTGRES_PASS}
volumes:
- "connector_db_data:/var/lib/postgresql/data"
restart: always
env_file:
###TODO: Move into Image
- internal.env
idmanager:
container_name: bridgehead_idmanager
image: docker.verbis.dkfz.de/ccp/idmanager:deploy-c4
environment:
TOMCAT_REVERSEPROXY_FQDN: ${HOST}/id-manager
MAGICPL_MAINZELLISTE_API_KEY: ${MAGICPL_MAINZELLISTE_API_KEY}
MAGICPL_API_KEY: ${MAGICPL_API_KEY}
MAGICPL_API_KEY_CONNECTOR: ${MAGICPL_API_KEY_CONNECTOR}
MAGICPL_PASSPHRASE: ${MAGICPL_PASSPHRASE}
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"
secrets:
- magicpl.docker.xml
- dktk_bridgehead_info.docker.xml
- proxy.docker.xml
labels:
- "traefik.http.routers.idmanager.rule=PathPrefix(`/id-manager`)"
- "traefik.http.middlewares.idmanager_strip.stripprefix.prefixes=/id-mana\
ger"
- "traefik.http.routers.idmanager.middlewares=idmanager_strip"
- "traefik.http.services.idmanager.loadbalancer.server.port=8080"
env_file:
###TODO: Move into Image
- internal.env
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