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-pr-148" environment: STORE_URL: ${STORE_URL} POSTGRES_PASSWORD: ${CONNECTOR_POSTGRES_PASS} PATIENTLIST_URL: "http://bridgehead_patientlist:8080" PROJECTPSEUDONYMISATION_URL: "http://bridgehead_dktk_idmanager:8080/ID-Manager/html/projectSelection.html" 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" ports: - 65395:65395 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: "123" MAGICPL_API_KEY: "123" MAGICPL_API_KEY_CONNECTOR: "123" MAGICPL_PASSPHRASE: "123" MAGICPL_MAINZELLISTE_CENTRAL_API_KEY: "123" MAGICPL_CENTRAL_API_KEY: "123" MAGICPL_OIDC_CLIENT_ID: "123" MAGICPL_OIDC_CLIENT_SECRET: "123" 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_PORT: 5432 POSTGRES_DB: mainzelliste POSTGRES_USER: mainzelliste POSTGRES_PASSWORD: ${ML_DB_PASS} volumes: - "patientlist_db_data:/var/lib/postgresql/data"