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: TOMCAT_REVERSEPROXY_FQDN: ${HOST}/dktk-connector DEPLOYMENT_CONTEXT: dktk-connector 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} DEPLOYMENT_CONTEXT: id-manager MAGICPL_SITE: ${SITEID} 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.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} ML_SITE: ${SITEID} TOMCAT_REVERSEPROXY_FQDN: ${HOST} DEPLOYMENT_CONTEXT: 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.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