version: "3.7" volumes: dktk-connector-db-data: dktk-connector-logs: patientlist-db-data: patientlist-logs: id-manager-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 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" dktk-connector: image: "samply/share-client:dktk-feature-environmentPreconfigurationTorben" environment: POSTGRES_HOST: "dktk-connector-db" ID_MANAGER_APIKEY: ${MAGICPL_API_KEY_CONNECTOR} POSTGRES_PASSWORD: ${CONNECTOR_POSTGRES_PASS} HTTP_PROXY_USER: ${HTTP_PROXY_USER} HTTP_PROXY_PASSWORD: ${HTTP_PROXY_PASSWORD} HTTPS_PROXY_USER: ${HTTPS_PROXY_USER} HTTPS_PROXY_PASSWORD: ${HTTPS_PROXY_PASSWORD} env_file: - ../site-config/dktk.env # Necessary for the connector to successful check the status of other components on the same host extra_hosts: - "host.docker.internal:host-gateway" - "${HOST}:${HOSTIP}" volumes: - "dktk-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" dktk-connector-db: image: postgres:10.17 environment: POSTGRES_DB: "share_v2" POSTGRES_USER: "samplyweb" POSTGRES_PASSWORD: ${CONNECTOR_POSTGRES_PASS} volumes: - "dktk-connector-db-data:/var/lib/postgresql/data" restart: always id-manager: container_name: id-manager image: docker.verbis.dkfz.de/ccp/idmanager:bridgehead-develop environment: 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} TOMCAT_REVERSEPROXY_FQDN: "${HOST}" HTTP_PROXY_USER: ${HTTP_PROXY_USER} HTTP_PROXY_PASSWORD: ${HTTP_PROXY_PASSWORD} HTTPS_PROXY_USER: ${HTTPS_PROXY_USER} HTTPS_PROXY_PASSWORD: ${HTTPS_PROXY_PASSWORD} env_file: - ../site-config/dktk.env volumes: - "id-manager-logs:/usr/local/tomcat/logs" depends_on: - patientlist labels: - "traefik.http.routers.id-manager.rule=PathPrefix(`/ID-Manager`)" - "traefik.http.services.id-manager.loadbalancer.server.port=8080" patientlist: container_name: patientlist image: docker.verbis.dkfz.de/ccp/patientlist:bridgehead-develop environment: ML_SITE: ${SITE} ML_API_KEY: ${MAGICPL_MAINZELLISTE_API_KEY} ML_DB_PASS: ${ML_DB_PASS} TOMCAT_REVERSEPROXY_FQDN: "${HOST}" env_file: - ../site-config/dktk.env # 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"