version: "3.7" volumes: c4-connector-db-data: c4-connector-logs: patientlist-db-data: patientlist-logs: id-manager-logs: c4-store-db-data: c4-store-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" c4-connector: image: "samply/share-client:c4-feature-environmentPreconfigurationTorben" environment: POSTGRES_HOST: "c4-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} LDM_URL: "${PROTOCOL}://${HOST}/c4-localdatamanagement" POSTGRES_PASSWORD: ${CONNECTOR_POSTGRES_PASS} env_file: - ../site-config/c4.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: - "c4-connector-logs:/usr/local/tomcat/logs" depends_on: - connector-db restart: always labels: - "traefik.enable=true" - "traefik.http.routers.c4_connector.rule=PathPrefix(`/c4-connector`)" - "traefik.http.services.c4_connector.loadbalancer.server.port=8080" c4-connector-db: image: postgres:10.17 environment: POSTGRES_DB: "share_v2" POSTGRES_USER: "samplyweb" POSTGRES_PASSWORD: ${CONNECTOR_POSTGRES_PASS} volumes: - "c4-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.idmanager.rule=PathPrefix(`/ID-Manager`)" - "traefik.http.services.idmanager.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" c4-store: image: docker.verbis.dkfz.de/ccp/samply.store:release-5.1.2 environment: MDR_NAMESPACE: "adt,dktk,marker" MDR_VALIDATION: false DEPLOYMENT_CONTEXT: "c4-localdatamanagement" POSTGRES_HOST: c4-store-db POSTGRES_PORT: 5432 POSTGRES_DB: samplystore POSTGRES_USER: samplystore POSTGRES_PASSWORD: ${STORE_POSTGRES_PASS} TZ: "Europe/Berlin" volumes: - "c4-store-logs:/usr/local/tomcat/logs" labels: - "traefik.enable=true" - "traefik.http.routers.store_c4.rule=PathPrefix(`/c4-localdatamanagement`)" depends_on: - store-db restart: always c4-store-db: image: postgres:9.5-alpine command: postgres -c datestyle='iso, dmy' environment: TZ: "Europe/Berlin" POSTGRES_DB: samplystore POSTGRES_USER: samplystore POSTGRES_PASSWORD: ${STORE_POSTGRES_PASS} volumes: - "c4-store-db-data:/var/lib/postgresql/data" restart: always