mirror of
https://github.com/samply/bridgehead.git
synced 2026-03-25 06:10:14 +01:00
164 lines
6.7 KiB
YAML
164 lines
6.7 KiB
YAML
version: "3.7"
|
|
|
|
services:
|
|
mongo:
|
|
image: mongo:latest
|
|
container_name: bridgehead-ccp-ovis-mongo
|
|
restart: always
|
|
command: mongod
|
|
volumes:
|
|
- /var/cache/bridgehead/ccp/ovis/mongo/init/init.js:/docker-entrypoint-initdb.d/init.js:ro
|
|
|
|
ovis-backend-data-preprocessing:
|
|
image: docker.verbis.dkfz.de/ovis/ovis-backend-preprocessor:latest
|
|
container_name: bridgehead-ccp-ovis-preprocessing
|
|
restart: on-failure
|
|
user: root
|
|
working_dir: /app
|
|
environment:
|
|
APOLLO_PORT: "4001"
|
|
CREDOS_PORT: "4000"
|
|
HTTP_PROXY: ""
|
|
HTTPS_PROXY: ""
|
|
NO_PROXY: ""
|
|
http_proxy: ""
|
|
https_proxy: ""
|
|
no_proxy: ""
|
|
CORS_ORIGIN: "*"
|
|
DB: onc_test
|
|
ADRESS: mongodb://mongo:27017
|
|
MONGO_VER: latest
|
|
OVIS_PREPROC_DECEASED_KEYWORDS: '["verstorben","dead","deceased","not alive","gestorben"]'
|
|
OVIS_PREPROC_REZIDIV_PREFIXES: '["Rezidiv"]'
|
|
OVIS_PREPROC_REZIDIV_CANONICAL: Rezidiv
|
|
OVIS_PREPROC_REZIDIV_LYMPH_STATES: '["Rezidiv","Neu"]'
|
|
OVIS_PREPROC_PROGRESS_LABELS: '["Progression","Divergentes Geschehen","Rezidiv"]'
|
|
OVIS_PREPROC_COMPLETE_REMISSION_LABELS: '["Vollremission / Tumorfrei (complete remission)"]'
|
|
OVIS_PREPROC_RCLASS_SUCCESS: '["R0"]'
|
|
OVIS_PREPROC_LOCAL_RSTATE_SUCCESS: '["R0"]'
|
|
OVIS_PREPROC_METASTASIS_PREFIXES: '["Rezidiv","Neu"]'
|
|
OVIS_PREPROC_METASTASIS_SPREAD_VALUES: '["Neu","Rezidiv","Tumornachweis"]'
|
|
OVIS_PREPROC_METASTASIS_STRAT_SYNCHRON: Synchrone Metastasierung
|
|
OVIS_PREPROC_METASTASIS_STRAT_NONE: keine synchrone Metastasierung
|
|
OVIS_PREPROC_NULL_STUDY_PHASES: '["NOPH","KA"]'
|
|
OVIS_PREPROC_PREV_THERAPY_SURGERY: '["operation"]'
|
|
OVIS_PREPROC_PREV_THERAPY_SYSTEMIC: '["systemic"]'
|
|
OVIS_PREPROC_PREV_THERAPY_RADIATION: '["radiation"]'
|
|
OVIS_PREPROC_PREV_CONSULTATION_NUTRITION: '["nutrition"]'
|
|
OVIS_PREPROC_PREV_CONSULTATION_SOCIAL: '["social"]'
|
|
OVIS_PREPROC_PREV_CONSULTATION_PSYCHO: '["psycho"]'
|
|
OVIS_PREPROC_PREV_CONSULTATION_GENETIC: '["genetic"]'
|
|
OVIS_PREPROC_TUMORBOARD_PATTERN_PRAE: prae|prä|pre
|
|
OVIS_PREPROC_TUMORBOARD_PATTERN_POST: post
|
|
OVIS_PREPROC_TUMORBOARD_PATTERN_MTB: mtb
|
|
OVIS_PREPROC_ECOG_PREFIX: ECOG
|
|
OVIS_PREPROC_DISTRESS_TYPE: distress
|
|
OVIS_PREPROC_DISTRESS_POSITIVE_VALUES: '["Positiv"]'
|
|
depends_on:
|
|
- mongo
|
|
volumes:
|
|
- /var/cache/bridgehead/ccp/ovis/shared_data:/app/generated
|
|
healthcheck:
|
|
test: ["CMD-SHELL", "node -e \"require('http').get('http://localhost:9000/health', res => process.exit(res.statusCode===200?0:1)).on('error', () => process.exit(1));\""]
|
|
interval: 10s
|
|
timeout: 5s
|
|
retries: 6
|
|
start_period: 5s
|
|
command: ["node", "./Preprocessing/catalogue-service.mjs"]
|
|
|
|
ovis-backend-data-import:
|
|
image: docker.verbis.dkfz.de/ovis/ovis-backend-data-import-demo:latest
|
|
container_name: bridgehead-ccp-ovis-import
|
|
restart: on-failure
|
|
depends_on:
|
|
ovis-backend-data-preprocessing:
|
|
condition: service_healthy
|
|
environment:
|
|
# CCP mode: FHIR source configuration (ignored by DEMO image)
|
|
FHIR_SERVER_URL: http://bridgehead-ccp-blaze:8080/fhir
|
|
FHIR_USERNAME: your-fhir-username
|
|
FHIR_PASSWORD: your-fhir-password
|
|
ICD10_FILTER: ""
|
|
# Required for both CCP and DEMO: preprocessor upload endpoint
|
|
OVIS_PREPROCESSOR_URL: http://ovis-backend-data-preprocessing:9000/omock
|
|
# Proxy configuration
|
|
HTTP_PROXY: ""
|
|
HTTPS_PROXY: ""
|
|
NO_PROXY: ""
|
|
http_proxy: ""
|
|
https_proxy: ""
|
|
no_proxy: ""
|
|
volumes:
|
|
- /var/cache/bridgehead/ccp/ovis/shared_data:/shared
|
|
|
|
backend:
|
|
image: docker.verbis.dkfz.de/ovis/ovis-backend-apollo:latest
|
|
container_name: bridgehead-ccp-ovis-backend
|
|
restart: always
|
|
user: root
|
|
working_dir: /app
|
|
environment:
|
|
APOLLO_PORT: "4001"
|
|
CREDOS_PORT: "4000"
|
|
CORS_ORIGIN: "*"
|
|
DB: onc_test
|
|
ADRESS: mongodb://mongo:27017
|
|
depends_on:
|
|
- mongo
|
|
- ovis-backend-data-preprocessing
|
|
- ovis-backend-data-import
|
|
healthcheck:
|
|
test: ["CMD-SHELL", "test -d /app/node_modules/mongodb"]
|
|
interval: 10s
|
|
timeout: 5s
|
|
retries: 5
|
|
labels:
|
|
- "traefik.enable=true"
|
|
- "traefik.http.routers.ovis-backend.rule=PathPrefix(`/graphql`)"
|
|
- "traefik.http.routers.ovis-backend.tls=true"
|
|
- "traefik.http.routers.ovis-backend.service=ovis-backend"
|
|
- "traefik.http.routers.ovis-backend-ccp.rule=PathPrefix(`/ccp-ovis/graphql`)"
|
|
- "traefik.http.routers.ovis-backend-ccp.tls=true"
|
|
- "traefik.http.middlewares.ovis-backend-ccp-strip.stripprefix.prefixes=/ccp-ovis"
|
|
- "traefik.http.routers.ovis-backend-ccp.middlewares=ovis-backend-ccp-strip"
|
|
- "traefik.http.routers.ovis-backend-ccp.service=ovis-backend"
|
|
- "traefik.http.services.ovis-backend.loadbalancer.server.port=4001"
|
|
|
|
frontend:
|
|
image: docker.verbis.dkfz.de/ovis/ovis-frontend:latest
|
|
container_name: bridgehead-ccp-ovis-frontend
|
|
restart: always
|
|
environment:
|
|
OVIS_PUBLIC_BASE_PATH: /ccp-ovis
|
|
PUBLIC_GRAPHQL_URL: https://${HOST}/ccp-ovis/graphql
|
|
PUBLIC_LOGIN_ENABLED: "false"
|
|
PUBLIC_OVIS_IMPORT: demo
|
|
OVIS_CATALOGUE_UPSTREAM_URL: http://ovis-backend-data-preprocessing:9000/catalogue
|
|
HTTP_PROXY: ""
|
|
HTTPS_PROXY: ""
|
|
NO_PROXY: ""
|
|
http_proxy: ""
|
|
https_proxy: ""
|
|
no_proxy: ""
|
|
depends_on:
|
|
backend:
|
|
condition: service_healthy
|
|
volumes:
|
|
# Dynamic catalogue from preprocessing service
|
|
- /var/cache/bridgehead/ccp/ovis/shared_data:/app/dynamic-catalogue:ro
|
|
labels:
|
|
- "traefik.enable=true"
|
|
- "traefik.http.routers.ovis-frontend-ccp-slash.tls=true"
|
|
- "traefik.http.routers.ovis-frontend-ccp-slash.rule=Path(`/ccp-ovis`)"
|
|
- "traefik.http.routers.ovis-frontend-ccp-slash.priority=1000"
|
|
- "traefik.http.routers.ovis-frontend-ccp-slash.middlewares=ovis-frontend-ccp-slash-redirect"
|
|
- "traefik.http.routers.ovis-frontend-ccp-slash.service=ovis-frontend"
|
|
- "traefik.http.middlewares.ovis-frontend-ccp-slash-redirect.redirectregex.regex=^https?://([^/]+)/ccp-ovis$"
|
|
- "traefik.http.middlewares.ovis-frontend-ccp-slash-redirect.redirectregex.replacement=https://$${1}/ccp-ovis/"
|
|
- "traefik.http.middlewares.ovis-frontend-ccp-slash-redirect.redirectregex.permanent=true"
|
|
- "traefik.http.routers.ovis-frontend-ccp.tls=true"
|
|
- "traefik.http.routers.ovis-frontend-ccp.rule=PathPrefix(`/ccp-ovis`)"
|
|
- "traefik.http.middlewares.ovis-frontend-ccp-strip.stripprefix.prefixes=/ccp-ovis"
|
|
- "traefik.http.routers.ovis-frontend-ccp.middlewares=ovis-frontend-ccp-strip"
|
|
- "traefik.http.services.ovis-frontend.loadbalancer.server.port=5173"
|