parent
7b299bb338
commit
8c5e8ed833
|
@ -1,10 +1,7 @@
|
|||
##Ignore site configuration
|
||||
.gitmodules
|
||||
site-config
|
||||
|
||||
## Ignore site configuration
|
||||
config/**/*
|
||||
!config/**/*.default
|
||||
docker-compose.override.yml
|
||||
site.conf
|
||||
|
||||
lading/*
|
||||
certs/*
|
|
@ -1,159 +0,0 @@
|
|||
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:
|
||||
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:
|
||||
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:
|
||||
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:
|
||||
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:
|
||||
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
|
|
@ -0,0 +1,112 @@
|
|||
version: "3.7"
|
||||
|
||||
services:
|
||||
### Does not need proxy settings
|
||||
traefik:
|
||||
container_name: bridgehead-traefik
|
||||
image: traefik:2.4
|
||||
command:
|
||||
- --entrypoints.web.address=:80
|
||||
- --entrypoints.websecure.address=:443
|
||||
- --providers.docker=true
|
||||
- --api.dashboard=true
|
||||
- --accesslog=true # print access-logs
|
||||
- --entrypoints.web.http.redirections.entrypoint.to=websecure
|
||||
- --entrypoints.web.http.redirections.entrypoint.scheme=https
|
||||
labels:
|
||||
- "traefik.http.routers.dashboard.rule=PathPrefix(`/api`) || PathPrefix(`/dashboard`)"
|
||||
- "traefik.http.routers.dashboard.entrypoints=websecure"
|
||||
- "traefik.http.routers.dashboard.service=api@internal"
|
||||
- "traefik.http.routers.dashboard.tls=true"
|
||||
- "traefik.http.routers.dashboard.middlewares=auth"
|
||||
- "traefik.http.middlewares.auth.basicauth.users=${bc_auth_users}"
|
||||
ports:
|
||||
- 80:80
|
||||
- 443:443
|
||||
volumes:
|
||||
- ../certs:/tools/certs
|
||||
- /var/run/docker.sock:/var/run/docker.sock:ro
|
||||
extra_hosts:
|
||||
- "host.docker.internal:host-gateway"
|
||||
|
||||
|
||||
### Does need to know the outside proxy to connect central components
|
||||
forward_proxy:
|
||||
container_name: bridgehead-squid
|
||||
image: ubuntu/squid
|
||||
environment:
|
||||
http_proxy: ${http_proxy}
|
||||
https_proxy: ${https_proxy}
|
||||
volumes:
|
||||
- "bridgehead-proxy:/var/log/squid"
|
||||
|
||||
## Needs internal proxy config
|
||||
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"
|
||||
- "traefik.http.routers.landing.tls=true"
|
||||
|
||||
## Needs internal proxy config
|
||||
blaze:
|
||||
image: "samply/blaze:0.17"
|
||||
container_name: bridgehead-ccp-blaze
|
||||
environment:
|
||||
BASE_URL: "http://blaze:8080"
|
||||
JAVA_TOOL_OPTIONS: "-Xmx4g"
|
||||
LOG_LEVEL: "debug"
|
||||
ENFORCE_REFERENTIAL_INTEGRITY: "false"
|
||||
volumes:
|
||||
- "blaze-data:/app/data"
|
||||
labels:
|
||||
- "traefik.enable=true"
|
||||
- "traefik.http.middlewares.test-auth.basicauth.users=${bc_auth_users}"
|
||||
- "traefik.http.routers.blaze_ccp.rule=PathPrefix(`/ccp-localdatamanagement`)"
|
||||
- "traefik.http.middlewares.ccp_b_strip.stripprefix.prefixes=/ccp-localdatamanagement"
|
||||
- "traefik.http.services.blaze_ccp.loadbalancer.server.port=8080"
|
||||
- "traefik.http.routers.blaze_ccp.middlewares=ccp_b_strip,test-auth"
|
||||
- "traefik.http.routers.blaze_ccp.tls=true"
|
||||
|
||||
ccp-search-share:
|
||||
image: "ghcr.io/samply/dktk-fed-search-share:main"
|
||||
container_name: bridgehead_ccp_share
|
||||
environment:
|
||||
APP_BASE_URL: "http://dktk-fed-search-share:8080"
|
||||
APP_BROKER_BASEURL: "http://dktk-fed-search.verbis.dkfz.de/broker/rest/searchbroker"
|
||||
APP_BROKER_MAIL: "foo@bar.de"
|
||||
APP_STORE_BASEURL: "http://bridgehead-dktk-blaze:8080/fhir"
|
||||
SPRING_DATASOURCE_URL: "jdbc:postgresql://bridgehead_ccp_share_db:5432/dktk-fed-search-share"
|
||||
JAVA_TOOL_OPTIONS: "-Xmx1g"
|
||||
# http_proxy: "http://bridgehead-squid:3128"
|
||||
# https_proxy: "http://bridgehead-squid:3128"
|
||||
# HTTP_PROXY: "http://bridgehead-squid:3128"
|
||||
# HTTPS_PROXY: "http://bridgehead-squid:3128"
|
||||
depends_on:
|
||||
- ccp-search-share-db
|
||||
- blaze
|
||||
labels:
|
||||
- "traefik.enable=true"
|
||||
- "traefik.http.routers.dktk-fed-search.rule=PathPrefix(`/dktk-connector`)"
|
||||
- "traefik.http.services.dktk-fed-search.loadbalancer.server.port=8080"
|
||||
extra_hosts:
|
||||
- "dktk-fed-search.verbis.dkfz.de:10.133.193.8"
|
||||
|
||||
ccp-search-share-db:
|
||||
image: "postgres:14"
|
||||
container_name: bridgehead_ccp_share_db
|
||||
environment:
|
||||
POSTGRES_USER: "dktk-fed-search-share"
|
||||
POSTGRES_PASSWORD: "dktk-fed-search-share"
|
||||
POSTGRES_DB: "dktk-fed-search-share"
|
||||
volumes:
|
||||
- "ccp-search-share-db-data:/var/lib/postgresql/data"
|
||||
|
||||
volumes:
|
||||
blaze-data:
|
||||
bridgehead-proxy:
|
||||
ccp-search-share-db-data:
|
|
@ -1,144 +0,0 @@
|
|||
version: "3.7"
|
||||
|
||||
services:
|
||||
### Does not need proxy settings
|
||||
traefik:
|
||||
container_name: bridgehead-traefik
|
||||
image: traefik:2.4
|
||||
command:
|
||||
- --entrypoints.web.address=:80
|
||||
- --entrypoints.websecure.address=:443
|
||||
- --providers.docker=true
|
||||
- --api.dashboard=true
|
||||
- --accesslog=true # print access-logs
|
||||
- --entrypoints.web.http.redirections.entrypoint.to=websecure
|
||||
- --entrypoints.web.http.redirections.entrypoint.scheme=https
|
||||
labels:
|
||||
- "traefik.http.routers.dashboard.rule=PathPrefix(`/api`) || PathPrefix(`/dashboard`)"
|
||||
- "traefik.http.routers.dashboard.entrypoints=websecure"
|
||||
- "traefik.http.routers.dashboard.service=api@internal"
|
||||
- "traefik.http.routers.dashboard.tls=true"
|
||||
- "traefik.http.routers.dashboard.middlewares=auth"
|
||||
- "traefik.http.middlewares.auth.basicauth.users=${bc_auth_users}"
|
||||
ports:
|
||||
- 80:80
|
||||
- 443:443
|
||||
volumes:
|
||||
- ../certs:/tools/certs
|
||||
- /var/run/docker.sock:/var/run/docker.sock:ro
|
||||
extra_hosts:
|
||||
- "host.docker.internal:host-gateway"
|
||||
|
||||
|
||||
### Does need to know the outside proxy to connect central components
|
||||
forward_proxy:
|
||||
container_name: bridgehead-squid
|
||||
image: ubuntu/squid
|
||||
environment:
|
||||
http_proxy: ${http_proxy}
|
||||
https_proxy: ${https_proxy}
|
||||
volumes:
|
||||
- "bridgehead-proxy:/var/log/squid"
|
||||
|
||||
## Needs internal proxy config
|
||||
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"
|
||||
- "traefik.http.routers.landing.tls=true"
|
||||
|
||||
## Needs internal proxy config
|
||||
blaze:
|
||||
image: "samply/blaze:0.16"
|
||||
container_name: bridgehead-dktk-blaze
|
||||
environment:
|
||||
BASE_URL: "http://blaze:8080"
|
||||
JAVA_TOOL_OPTIONS: "-Xmx4g"
|
||||
LOG_LEVEL: "debug"
|
||||
ENFORCE_REFERENTIAL_INTEGRITY: "false"
|
||||
volumes:
|
||||
- "blaze-data:/app/data"
|
||||
labels:
|
||||
- "traefik.enable=true"
|
||||
- "traefik.http.middlewares.test-auth.basicauth.users=${bc_auth_users}"
|
||||
- "traefik.http.routers.blaze_dktk.rule=PathPrefix(`/dktk-localdatamanagement`)"
|
||||
- "traefik.http.middlewares.dktk_b_strip.stripprefix.prefixes=/dktk-localdatamanagement"
|
||||
- "traefik.http.services.blaze_dktk.loadbalancer.server.port=8080"
|
||||
- "traefik.http.routers.blaze_dktk.middlewares=dktk_b_strip,test-auth"
|
||||
- "traefik.http.routers.blaze_dktk.tls=true"
|
||||
|
||||
|
||||
dktk-connector:
|
||||
image: "samply/share-client:gbn-feature-environmentPreconfiguration"
|
||||
environment:
|
||||
POSTGRES_HOST: "dktk-connector-db"
|
||||
POSTGRES_PASSWORD: "123"
|
||||
STORE_URL: "http://bridgehead-blaze:8080/fhir"
|
||||
MDR_URL: "https://mdr.ccp-it.dktk.dkfz.de/v3/api/mdr"
|
||||
DEPLOYMENT_CONTEXT: "dktk-connector"
|
||||
volumes:
|
||||
- "dktk-connector-logs:/usr/local/tomcat/logs"
|
||||
labels:
|
||||
- "traefik.enable=true"
|
||||
- "traefik.http.routers.dktk_connector.rule=PathPrefix(`/dktk-connector`)"
|
||||
- "traefik.http.services.dktk_connector.loadbalancer.server.port=8080"
|
||||
- "traefik.http.routers.landing.tls=true"
|
||||
|
||||
depends_on:
|
||||
- "dktk-connector-db"
|
||||
- "forward_proxy"
|
||||
restart: "always"
|
||||
|
||||
dktk-connector-db:
|
||||
image: "postgres:10.17"
|
||||
environment:
|
||||
POSTGRES_DB: "samply.connector"
|
||||
POSTGRES_USER: "samply"
|
||||
POSTGRES_PASSWORD: "123"
|
||||
volumes:
|
||||
- "dktk-connector-db-data:/var/lib/postgresql/data"
|
||||
restart: "always"
|
||||
|
||||
|
||||
# dktk-fed-search-share:
|
||||
# image: "ghcr.io/samply/dktk-fed-search-share:pr-1"
|
||||
# container_name: bridgehead_dktk_share
|
||||
# environment:
|
||||
# APP_BASE_URL: "http://dktk-fed-search-share:8080"
|
||||
# APP_STORE_URL: "http://blaze:8080/fhir"
|
||||
# APP_BROKER_BASEURL: "http://e260-serv-11.inet.dkfz-heidelberg.de:8080/broker/rest/searchbroker"
|
||||
# APP_BROKER_MAIL: "foo@bar.de"
|
||||
# APP_STORE_BASEURL: "http://bridgehead_dktk_blaze:8080/fhir"
|
||||
# SPRING_DATASOURCE_URL: "jdbc:postgresql://dktk-fed-search-share-db:5432/dktk-fed-search-share"
|
||||
# JAVA_TOOL_OPTIONS: "-Xmx1g"
|
||||
# http_proxy: "http://www-int2.inet.dkfz-heidelberg.de:3128"
|
||||
# https_proxy: "http://www-int2.inet.dkfz-heidelberg.de:3128"
|
||||
# HTTP_PROXY: "http://www-int2.inet.dkfz-heidelberg.de:3128"
|
||||
# HTTPS_PROXY: "http://www-int2.inet.dkfz-heidelberg.de:3128"
|
||||
# depends_on:
|
||||
# - dktk-fed-search-share-db
|
||||
# - blaze
|
||||
# labels:
|
||||
# - "traefik.enable=true"
|
||||
# - "traefik.http.routers.dktk-fed-search.rule=PathPrefix(`/dktk-connector`)"
|
||||
# - "traefik.http.services.dktk-fed-search.loadbalancer.server.port=8080"
|
||||
|
||||
# dktk-fed-search-share-db:
|
||||
# image: "postgres:14"
|
||||
# environment:
|
||||
# POSTGRES_USER: "dktk-fed-search-share"
|
||||
# POSTGRES_PASSWORD: "dktk-fed-search-share"
|
||||
# POSTGRES_DB: "dktk-fed-search-share"
|
||||
# volumes:
|
||||
# - "dktk-fed-search-share-db-data:/var/lib/postgresql/data"
|
||||
|
||||
volumes:
|
||||
blaze-data:
|
||||
dktk-connector-logs:
|
||||
dktk-connector-db-data:
|
||||
# dktk-fed-search-share-db-data:
|
|
@ -1,122 +0,0 @@
|
|||
version: "3.7"
|
||||
volumes:
|
||||
dktk-connector-db-data:
|
||||
dktk-connector-logs:
|
||||
patientlist-db-data:
|
||||
patientlist-logs:
|
||||
id-manager-logs:
|
||||
|
||||
services:
|
||||
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:
|
||||
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:
|
||||
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:
|
||||
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:
|
||||
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"
|
|
@ -1,444 +0,0 @@
|
|||
<?xml version="1.0" encoding="UTF-8"?>
|
||||
<!DOCTYPE pathconfig [
|
||||
<!ENTITY localPatientListUrl "MAGICPL_MAINZELLISTE_URL">
|
||||
<!ENTITY localPatientlistApiKey "MAGICPL_MAINZELLISTE_API_KEY">
|
||||
<!ENTITY magicplApiKey "MAGICPL_API_KEY">
|
||||
<!ENTITY magicplApiKeyConnector "MAGICPL_API_KEY_CONNECTOR">
|
||||
<!ENTITY centralPatientListUrl "MAGICPL_MAINZELLISTE_CENTRAL_URL">
|
||||
<!ENTITY centralPatientListApiKey "MAGICPL_MAINZELLISTE_CENTRAL_API_KEY">
|
||||
<!ENTITY centralKNEUrl "MAGICPL_CENTRAL_URL">
|
||||
<!ENTITY centralKNEApiKey "MAGICPL_CENTRAL_API_KEY">
|
||||
<!ENTITY site "MAGICPL_SITE">
|
||||
]>
|
||||
<pathconfig xmlns="http://www.example.org/Pfade" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
|
||||
xsi:schemaLocation="http://www.example.org/Pfade magicpl.xsd ">
|
||||
<paths>
|
||||
<multipath>
|
||||
<name>getId</name>
|
||||
<input>
|
||||
<iorecord ref="IDAT" name="IDAT"/>
|
||||
<iosingle ref="extIDs" name="extIDs"/>
|
||||
<iosingle ref="idTypes" name="idTypes"/>
|
||||
<iosingle ref="consented" name="consented"/>
|
||||
<iosingle ref="auditTrail" name="auditTrail"/>
|
||||
<iosingle ref="sureness" name="sureness"/>
|
||||
</input>
|
||||
<output>
|
||||
<iosingle ref="ids" name="ids"/>
|
||||
</output>
|
||||
<step>
|
||||
<name>getRequestedId</name>
|
||||
<parameters/>
|
||||
<input>
|
||||
<iorecord ref="IDAT" name="IDAT"/>
|
||||
<iosingle ref="idTypes" name="idTypes"/>
|
||||
<iosingle ref="consented" name="consented"/>
|
||||
<iosingle ref="auditTrail" name="auditTrail"/>
|
||||
<iosingle ref="sureness" name="sureness"/>
|
||||
</input>
|
||||
<output>
|
||||
<iosingle ref="ids" name="ids"/>
|
||||
</output>
|
||||
<switch>
|
||||
<evaluator name="de.pseudonymisierung.magicpl.evaluator.IsConsentedEvaluator">
|
||||
<parameters>
|
||||
<parameter name="key">consented</parameter>
|
||||
</parameters>
|
||||
</evaluator>
|
||||
<!-- eventuell muss hier andere unterscheidung genommen werden -->
|
||||
<case value="true">
|
||||
<multipath>
|
||||
<name>getDktkIdWithIdat</name>
|
||||
<parameters/>
|
||||
<input>
|
||||
<iorecord ref="IDAT"/>
|
||||
<iosingle ref="idTypes" name="idTypes"/>
|
||||
<iosingle ref="extIDs" name="extIDs"/>
|
||||
<iosingle ref="consented"/>
|
||||
<iosingle ref="auditTrail" name="auditTrail"/>
|
||||
<iosingle ref="sureness" name="sureness"/>
|
||||
</input>
|
||||
<output>
|
||||
<iosingle ref="ids" name="ids"/>
|
||||
</output>
|
||||
<step>
|
||||
<name>getIdToken</name>
|
||||
<parameters>
|
||||
<!-- Hier war lokale Pfade URL angegeben, es soll aber eigentlich zentraler KNE aufgerufen werden -->
|
||||
<parameter name="url">¢ralKNEUrl;/paths/getIdToken</parameter>
|
||||
<parameter name="method">POST</parameter>
|
||||
<parameter name="apiKey">¢ralKNEApiKey;</parameter>
|
||||
<parameter name="excludeIdTypes">BK_&site;_L-ID</parameter>
|
||||
<parameter name="excludeIDAT">locallyUniqueId</parameter>
|
||||
</parameters>
|
||||
<input>
|
||||
<iorecord ref="IDAT" name="IDAT"/>
|
||||
<iosingle ref="idTypes" name="idTypes"/>
|
||||
<iosingle ref="auditTrail" name="auditTrail"/>
|
||||
</input>
|
||||
<output>
|
||||
<iosingle ref="tokenId"/>
|
||||
</output>
|
||||
<implementation>de.pseudonymisierung.magicpl.processor.PathClient</implementation>
|
||||
</step>
|
||||
<step>
|
||||
<name>getDktkId</name>
|
||||
<parameters>
|
||||
<parameter name="mainzellisteURL">¢ralPatientListUrl;</parameter>
|
||||
<parameter name="mainzellisteApiKey">¢ralPatientListApiKey;</parameter>
|
||||
<parameter name="mainzellisteApiVersion">3.2</parameter>
|
||||
</parameters>
|
||||
<input>
|
||||
<iosingle ref="tokenId"/>
|
||||
<iosingle ref="sureness" name="sureness"/>
|
||||
</input>
|
||||
<output>
|
||||
<iosingle ref="ids" name="ids"/>
|
||||
</output>
|
||||
<implementation>de.pseudonymisierung.magicpl.processor.MainzellisteClient</implementation>
|
||||
</step>
|
||||
<step>
|
||||
<name>mapIdStringToExternalId</name>
|
||||
<parameters>
|
||||
<parameter name="map">ids->extIDs</parameter>
|
||||
</parameters>
|
||||
<input>
|
||||
<iosingle ref="ids" name="ids"/>
|
||||
</input>
|
||||
<output>
|
||||
<iosingle ref="extIDs" name="extIDs"/>
|
||||
</output>
|
||||
<implementation>de.pseudonymisierung.magicpl.processor.InputMapperProcessor</implementation>
|
||||
</step>
|
||||
<step>
|
||||
<name>getLocalTKTExternalId</name>
|
||||
<parameters>
|
||||
<parameter name="mainzellisteURL">&localPatientListUrl;</parameter>
|
||||
<parameter name="mainzellisteApiKey">&localPatientlistApiKey;</parameter>
|
||||
<parameter name="fieldType">plain</parameter>
|
||||
</parameters>
|
||||
<input>
|
||||
<iorecord ref="IDAT" name="IDAT"/>
|
||||
<iosingle ref="extIDs" name="extIDs"/>
|
||||
<iosingle ref="idTypes" name="idTypes"/>
|
||||
<iosingle ref="auditTrail" name="auditTrail"/>
|
||||
</input>
|
||||
<output>
|
||||
<iosingle ref="tokenId"/>
|
||||
</output>
|
||||
<!-- TODO: Implementation für Ticket Erzeugung ohne Kontrolnummer -->
|
||||
<!-- Wird hier eine neue Klasse benötigt oder kann diese hier entsprechend angepasst werden? -->
|
||||
<implementation>de.pseudonymisierung.magicpl.processor.MainzellisteKNTicketClient</implementation>
|
||||
</step>
|
||||
<step>
|
||||
<name>generateLocalIdExternalId</name>
|
||||
<parameters>
|
||||
<parameter name="mainzellisteURL">&localPatientListUrl;</parameter>
|
||||
<parameter name="mainzellisteApiKey">&localPatientlistApiKey;</parameter>
|
||||
<parameter name="mainzellisteApiVersion">3.2</parameter>
|
||||
<parameter name="idType">BK_&site;_L-ID</parameter>
|
||||
</parameters>
|
||||
<input>
|
||||
<iosingle ref="tokenId"/>
|
||||
<iosingle ref="extIDs" name="extIDs"/>
|
||||
<iosingle ref="sureness" name="sureness"/>
|
||||
</input>
|
||||
<output>
|
||||
<iosingle ref="ids" name="ids"/>
|
||||
</output>
|
||||
<implementation>de.pseudonymisierung.magicpl.processor.MainzellisteClient</implementation>
|
||||
</step>
|
||||
</multipath>
|
||||
</case>
|
||||
<case value="false">
|
||||
<multipath>
|
||||
<name>getLocalIdWithIDAT</name>
|
||||
<input>
|
||||
<iorecord ref="IDAT" name="IDAT"/>
|
||||
<iosingle ref="idTypes" name="idTypes"/>
|
||||
<iosingle ref="auditTrail" name="auditTrail"/>
|
||||
<iosingle ref="sureness" name="sureness"/>
|
||||
</input>
|
||||
<output>
|
||||
<iosingle ref="ids" name="ids"/>
|
||||
</output>
|
||||
<step>
|
||||
<name>getTKT</name>
|
||||
<parameters>
|
||||
<parameter name="mainzellisteURL">&localPatientListUrl;</parameter>
|
||||
<parameter name="mainzellisteApiKey">&localPatientlistApiKey;</parameter>
|
||||
<parameter name="fieldType">plain</parameter>
|
||||
</parameters>
|
||||
<input>
|
||||
<iorecord ref="IDAT" name="IDAT"/>
|
||||
<iosingle ref="idTypes" name="idTypes"/>
|
||||
<iosingle ref="auditTrail" name="auditTrail"/>
|
||||
</input>
|
||||
<output>
|
||||
<iosingle ref="tokenId"/>
|
||||
</output>
|
||||
<!-- Wird hier eine neue Klasse benötigt oder kann diese hier entsprechend angepasst werden? -->
|
||||
<implementation>de.pseudonymisierung.magicpl.processor.MainzellisteKNTicketClient</implementation>
|
||||
</step>
|
||||
<step>
|
||||
<name>generateLocalId</name>
|
||||
<parameters>
|
||||
<parameter name="mainzellisteURL">&localPatientListUrl;</parameter>
|
||||
<parameter name="mainzellisteApiKey">&localPatientlistApiKey;</parameter>
|
||||
<parameter name="mainzellisteApiVersion">3.2</parameter>
|
||||
<parameter name="idType">BK_&site;_L-ID</parameter>
|
||||
</parameters>
|
||||
<input>
|
||||
<iosingle ref="tokenId"/>
|
||||
<iosingle ref="sureness" name="sureness"/>
|
||||
</input>
|
||||
<output>
|
||||
<iosingle ref="ids" name="ids"/>
|
||||
</output>
|
||||
<implementation>de.pseudonymisierung.magicpl.processor.MainzellisteClient</implementation>
|
||||
</step>
|
||||
</multipath>
|
||||
</case>
|
||||
</switch>
|
||||
</step>
|
||||
</multipath>
|
||||
<multipath>
|
||||
<name>readPatients</name>
|
||||
<input>
|
||||
<iosingle ref="searchIds" name="searchIds"/>
|
||||
<iosingle ref="resultIds" name="resultIds"/>
|
||||
<iosingle ref="auditTrail" name="auditTrail"/>
|
||||
</input>
|
||||
<output>
|
||||
<iosingle ref="patients" name="patients"/>
|
||||
</output>
|
||||
<step>
|
||||
<name>DecideLocalOrCentralRequest</name>
|
||||
<input>
|
||||
<iosingle ref="searchIds" name="searchIds"/>
|
||||
<iosingle ref="resultIds" name="resultIds"/>
|
||||
<iosingle ref="auditTrail" name="auditTrail"/>
|
||||
</input>
|
||||
<output>
|
||||
<iosingle ref="patients" name="patients"/>
|
||||
</output>
|
||||
<switch>
|
||||
<evaluator name="de.pseudonymisierung.magicpl.evaluator.RegexEvaluator">
|
||||
<parameters>
|
||||
<parameter name="regex">MDS_\*_G-ID</parameter>
|
||||
<parameter name="fieldName">resultIds</parameter>
|
||||
</parameters>
|
||||
</evaluator>
|
||||
<case value="true">
|
||||
<multipath>
|
||||
<name>readPatientsCentrally</name>
|
||||
<input>
|
||||
<iosingle ref="searchIds" name="searchIds"/>
|
||||
<iosingle ref="resultIds" name="resultIds"/>
|
||||
<iosingle ref="auditTrail" name="auditTrail"/>
|
||||
</input>
|
||||
<output>
|
||||
<iosingle ref="patients" name="patients"/>
|
||||
</output>
|
||||
<step>
|
||||
<name>createReadTokenCentral</name>
|
||||
<parameters>
|
||||
<parameter name="mainzellisteURL">¢ralPatientListUrl;</parameter>
|
||||
<parameter name="mainzellisteApiKey">¢ralPatientListApiKey;</parameter>
|
||||
<parameter name="ignoredIdTypeCheck">true</parameter>
|
||||
</parameters>
|
||||
<input>
|
||||
<iosingle ref="searchIds" name="searchIds"/>
|
||||
<iosingle ref="resultIds" name="resultIds"/>
|
||||
<iosingle ref="auditTrail" name="auditTrail"/>
|
||||
</input>
|
||||
<output>
|
||||
<iosingle ref="tokenId"/>
|
||||
</output>
|
||||
<implementation>de.pseudonymisierung.magicpl.processor.MainzellisteReadTokenClient</implementation>
|
||||
</step>
|
||||
<step>
|
||||
<name>resolveReadTokenCentral</name>
|
||||
<parameters>
|
||||
<parameter name="mainzellisteURL">¢ralPatientListUrl;</parameter>
|
||||
<parameter name="mainzellisteApiKey">¢ralPatientListApiKey;</parameter>
|
||||
</parameters>
|
||||
<input>
|
||||
<iosingle ref="tokenId"/>
|
||||
</input>
|
||||
<output>
|
||||
<iosingle ref="patients"/>
|
||||
</output>
|
||||
<implementation>de.pseudonymisierung.magicpl.processor.MainzellisteReadClient</implementation>
|
||||
</step>
|
||||
</multipath>
|
||||
</case>
|
||||
<case value="false">
|
||||
<multipath>
|
||||
<name>readPatientsLocally</name>
|
||||
<input>
|
||||
<iosingle ref="searchIds" name="searchIds"/>
|
||||
<iosingle ref="resultIds" name="resultIds"/>
|
||||
<iosingle ref="auditTrail" name="auditTrail"/>
|
||||
</input>
|
||||
<output>
|
||||
<iosingle ref="patients" name="patients"/>
|
||||
</output>
|
||||
<step>
|
||||
<name>createReadToken</name>
|
||||
<parameters>
|
||||
<parameter name="mainzellisteURL">&localPatientListUrl;</parameter>
|
||||
<parameter name="mainzellisteApiKey">&localPatientlistApiKey;</parameter>
|
||||
<parameter name="ignoredIdTypeCheck">true</parameter>
|
||||
</parameters>
|
||||
<input>
|
||||
<iosingle ref="searchIds" name="searchIds"/>
|
||||
<iosingle ref="resultIds" name="resultIds"/>
|
||||
<iosingle ref="auditTrail" name="auditTrail"/>
|
||||
</input>
|
||||
<output>
|
||||
<iosingle ref="tokenId"/>
|
||||
</output>
|
||||
<implementation>de.pseudonymisierung.magicpl.processor.MainzellisteReadTokenClient</implementation>
|
||||
</step>
|
||||
<step>
|
||||
<name>resolveReadToken</name>
|
||||
<parameters>
|
||||
<parameter name="mainzellisteURL">&localPatientListUrl;</parameter>
|
||||
<parameter name="mainzellisteApiKey">&localPatientlistApiKey;</parameter>
|
||||
</parameters>
|
||||
<input>
|
||||
<iosingle ref="tokenId"/>
|
||||
</input>
|
||||
<output>
|
||||
<iosingle ref="patients"/>
|
||||
</output>
|
||||
<implementation>de.pseudonymisierung.magicpl.processor.MainzellisteReadClient</implementation>
|
||||
</step>
|
||||
</multipath>
|
||||
</case>
|
||||
</switch>
|
||||
</step>
|
||||
</multipath>
|
||||
</paths>
|
||||
|
||||
<iodefinitions>
|
||||
<iorecord name="IDAT">
|
||||
<iosingle name="Vorname"/>
|
||||
<iosingle name="Nachname"/>
|
||||
<iosingle name="Fruehere_Namen"/>
|
||||
<iosingle name="Geburtstag"/>
|
||||
<iosingle name="Geburtsmonat"/>
|
||||
<iosingle name="Geburtsjahr"/>
|
||||
<iosingle name="Staatsangehoerigkeit"/>
|
||||
<iosingle name="Geschlecht"/>
|
||||
<!-- external id which will be inputed into paths -->
|
||||
<iosingle name="locallyUniqueId"/>
|
||||
</iorecord>
|
||||
<iosingle name="idTypes" type="ArrayList"/>
|
||||
<iosingle name="ids"/>
|
||||
<!-- iosingle for external Ids which will be transferred between two steps -->
|
||||
<iosingle name="extIDs"/>
|
||||
<iosingle name="consented"/>
|
||||
<iosingle name="tokenId"/>
|
||||
<iosingle name="auditTrail"/>
|
||||
<iosingle name="searchIds"/>
|
||||
<iosingle name="resultIds"/>
|
||||
<iosingle name="patients"/>
|
||||
<iosingle name="sureness"/>
|
||||
</iodefinitions>
|
||||
<authentication>
|
||||
<client>
|
||||
<permissions>getId</permissions>
|
||||
<restrictions>
|
||||
<restriction path="getId">
|
||||
<inputRestriction input="idTypes">
|
||||
<permissibleValues>
|
||||
<value>DKTK000001950_&site;_L-ID</value>
|
||||
<value>DKTK000001950_&site;_G-ID</value>
|
||||
</permissibleValues>
|
||||
</inputRestriction>
|
||||
</restriction>
|
||||
</restrictions>
|
||||
<roles>DKTK000001950_USER</roles>
|
||||
</client>
|
||||
<client>
|
||||
<permissions>getId</permissions>
|
||||
<restrictions>
|
||||
<restriction path="getId">
|
||||
<inputRestriction input="idTypes">
|
||||
<permissibleValues>
|
||||
<value>DKTK000001951_&site;_L-ID</value>
|
||||
<value>DKTK000001951_&site;_G-ID</value>
|
||||
</permissibleValues>
|
||||
</inputRestriction>
|
||||
</restriction>
|
||||
</restrictions>
|
||||
<roles>DKTK000001951_USER</roles>
|
||||
</client>
|
||||
<client>
|
||||
<permissions>getId</permissions>
|
||||
<restrictions>
|
||||
<restriction path="getId">
|
||||
<inputRestriction input="idTypes">
|
||||
<permissibleValues>
|
||||
<value>DKTK000001985_&site;_L-ID</value>
|
||||
<value>DKTK000001985_&site;_G-ID</value>
|
||||
</permissibleValues>
|
||||
</inputRestriction>
|
||||
</restriction>
|
||||
</restrictions>
|
||||
<roles>DKTK000001985_USER</roles>
|
||||
</client>
|
||||
<client>
|
||||
<permissions>getId</permissions>
|
||||
<restrictions>
|
||||
<restriction path="getId">
|
||||
<inputRestriction input="idTypes">
|
||||
<permissibleValues>
|
||||
<value>DKTK000001986_&site;_L-ID</value>
|
||||
<value>DKTK000001986_&site;_G-ID</value>
|
||||
</permissibleValues>
|
||||
</inputRestriction>
|
||||
</restriction>
|
||||
</restrictions>
|
||||
<roles>DKTK000001986_USER</roles>
|
||||
</client>
|
||||
<client>
|
||||
<permissions>getId</permissions>
|
||||
<restrictions>
|
||||
<restriction path="getId">
|
||||
<inputRestriction input="idTypes">
|
||||
<permissibleValues>
|
||||
<value>DKTK999999999_&site;_L-ID</value>
|
||||
<value>DKTK999999999_&site;_G-ID</value>
|
||||
</permissibleValues>
|
||||
</inputRestriction>
|
||||
</restriction>
|
||||
</restrictions>
|
||||
<roles>DKTK999999999_USER</roles>
|
||||
</client>
|
||||
<client>
|
||||
<permissions>getId</permissions>
|
||||
<restrictions>
|
||||
<restriction path="getId">
|
||||
<inputRestriction input="idTypes">
|
||||
<permissibleValues>
|
||||
<value>DKTK000002089_&site;_L-ID</value>
|
||||
<value>DKTK000002089_&site;_G-ID</value>
|
||||
</permissibleValues>
|
||||
</inputRestriction>
|
||||
</restriction>
|
||||
</restrictions>
|
||||
<roles>DKTK000002089_USER</roles>
|
||||
</client>
|
||||
<client>
|
||||
<permissions>getId</permissions>
|
||||
<apiKey>&magicplApiKey;</apiKey>
|
||||
</client>
|
||||
<client>
|
||||
<permissions>readPatients</permissions>
|
||||
<apiKey>&magicplApiKeyConnector;</apiKey>
|
||||
</client>
|
||||
</authentication>
|
||||
</pathconfig>
|
|
@ -1,37 +0,0 @@
|
|||
# Konfiguration for the bridgehead
|
||||
server {
|
||||
|
||||
# this is the internal Docker DNS, cache only for 30s
|
||||
resolver 127.0.0.11 valid=30s;
|
||||
|
||||
listen 80;
|
||||
listen [::]:80;
|
||||
|
||||
proxy_set_header Host $host;
|
||||
proxy_set_header X-Real-IP $remote_addr;
|
||||
proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
|
||||
proxy_set_header X-Forwarded-Host $proxy_host;
|
||||
proxy_set_header X-Forwarded-Proto $scheme;
|
||||
|
||||
### Defining the urls like this, will stop nginx from failing on startup if one service isn't started.
|
||||
set $internal_connector_url http://connector:8080;
|
||||
set $internal_idmanager_url http://idmanager:8080;
|
||||
set $internal_patientlist_url http://patientlist:8080;
|
||||
set $internal_ldm_url http://ldm:8080;
|
||||
|
||||
location / {
|
||||
proxy_pass $internal_connector_url;
|
||||
}
|
||||
|
||||
location /ID-Manager/ {
|
||||
proxy_pass $internal_idmanager_url;
|
||||
}
|
||||
|
||||
location /Patientlist/ {
|
||||
proxy_pass $internal_patientlist_url;
|
||||
}
|
||||
|
||||
location /LocalDatamanagement/ {
|
||||
proxy_pass $internal_ldm_url;
|
||||
}
|
||||
}
|
|
@ -67,11 +67,11 @@
|
|||
<tbody>
|
||||
<tr>
|
||||
<td>Bridgehead</td>
|
||||
<td>Reverse Proxy <a href="http://e260-serv-05:8080/">Traefik</a></td>
|
||||
<td>Reverse Proxy <a href="https://e260-serv-05/dashboard/">Traefik</a></td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td>DKTK</td>
|
||||
<td><a href="http://e260-serv-05/dktk-localdatamanagement/fhir/">Blaze</a></td>
|
||||
<td><a href="https://e260-serv-05/dktk-localdatamanagement/fhir/">Blaze</a></td>
|
||||
</tr>
|
||||
</tbody>
|
||||
</table>
|
||||
|
|
|
@ -1 +0,0 @@
|
|||
Subproject commit cef02f04b52f4984e0a10560e0335f5248dde9c5
|
Loading…
Reference in New Issue