bridgehead/dktk/docker-compose.yml

151 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_dktk_connector
image: "samply/share-client:dktk-7"
environment:
STORE_URL: ${STORE_URL}
POSTGRES_HOST: ${CONNECTOR_DB_HOST}
POSTGRES_PASS: ${CONNECTOR_POSTGRES_PASS}
volumes:
- "connector_logs:/usr/local/tomcat/logs"
depends_on:
- connector_db
restart: always
labels:
- "traefik.enable=true"
- "traefik.http.routers.dktk_connector.rule=PathPrefix(`/dktk-connector`)"
- "traefik.http.services.dktk_connector.loadbalancer.server.port=8080"
env_file:
###TODO: Move into Image
- internal.env
connector_db:
container_name: bridgehead_dktk_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_id-manager
image: docker.verbis.dkfz.de/pseudonymisierung/magicpl:release-0.2.0
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}
TZ: Europe/Berlin
volumes:
- "idmanager_logs:/usr/local/tomcat/logs"
secrets:
- magicpl.docker.xml
- dktk_bridgehead_info.docker.xml
- proxy.docker.xml
depends_on:
- patientlist
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
patientlist:
container_name: bridgehead_patientlist
image: medicalinformatics/mainzelliste:develop
environment:
ML_DB_PASS: ${ML_DB_PASS}
ML_API_KEY: ${ML_API_KEY}
TOMCAT_REVERSEPROXY_FQDN: ${HOST}/patientlist
env_file:
- ../site-config/patientlist.env
- internal.env
volumes:
- "patientlist_logs:/usr/local/tomcat/logs"
secrets:
- mainzelliste.docker.conf
- centralSearchPublicKey
labels:
- "traefik.http.routers.patientlist.rule=PathPrefix(`/patientlist`)"
- "traefik.http.middlewares.patientlist_strip.stripprefix.prefixes=/patie\
ntlist"
- "traefik.http.routers.patientlist.middlewares=patientlist_strip"
- "traefik.http.services.patientlist.loadbalancer.server.port=8080"
depends_on:
- patientlist_db
patientlist_db:
container_name: bridgehead_dktk_patientlist_db
image: postgres:13.1-alpine
environment:
POSTGRES_PASSWORD: ${ML_DB_PASS}
volumes:
- "patientlist_db_data:/var/lib/postgresql/data"
env_file:
###TODO: Move into Image
- internal.env