diff --git a/ccp/modules/ovis-compose.yml b/ccp/modules/ovis-compose.yml index da11d553..b58eb737 100644 --- a/ccp/modules/ovis-compose.yml +++ b/ccp/modules/ovis-compose.yml @@ -1,17 +1,6 @@ version: "3.7" services: - fhir-transformer: - image: docker.verbis.dkfz.de/ovis/adt-mon-gql-fhir-transformer:latest - container_name: bridgehead-ccp-ovis-fhir-transformer - restart: on-failure - environment: - FHIR_SERVER_URL: ${FHIR_SERVER_URL:-http://bridgehead-ccp-blaze:8080/fhir} - FHIR_USERNAME: ${FHIR_USERNAME} - FHIR_PASSWORD: ${FHIR_PASSWORD} - volumes: - - /var/cache/bridgehead/ccp/ovis/shared_data:/app/output - mongo: image: mongo:${MONGO_VER:-latest} container_name: bridgehead-ccp-ovis-mongo @@ -20,6 +9,88 @@ services: 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: ${APOLLO_PORT:-4001} + CREDOS_PORT: ${CREDOS_PORT:-4000} + HTTP_PROXY: ${OVIS_HTTP_PROXY:-} + HTTPS_PROXY: ${OVIS_HTTPS_PROXY:-} + NO_PROXY: ${OVIS_NO_PROXY:-} + http_proxy: ${OVIS_HTTP_PROXY:-} + https_proxy: ${OVIS_HTTPS_PROXY:-} + no_proxy: ${OVIS_NO_PROXY:-} + CORS_ORIGIN: ${OVIS_CORS_ORIGIN:-*} + DB: ${DB:-onc_test} + ADRESS: mongodb://mongo:27017 + MONGO_VER: ${MONGO_VER:-latest} + OVIS_PREPROC_DECEASED_KEYWORDS: ${OVIS_PREPROC_DECEASED_KEYWORDS:-} + OVIS_PREPROC_REZIDIV_PREFIXES: ${OVIS_PREPROC_REZIDIV_PREFIXES:-} + OVIS_PREPROC_REZIDIV_CANONICAL: ${OVIS_PREPROC_REZIDIV_CANONICAL:-} + OVIS_PREPROC_REZIDIV_LYMPH_STATES: ${OVIS_PREPROC_REZIDIV_LYMPH_STATES:-} + OVIS_PREPROC_PROGRESS_LABELS: ${OVIS_PREPROC_PROGRESS_LABELS:-} + OVIS_PREPROC_COMPLETE_REMISSION_LABELS: ${OVIS_PREPROC_COMPLETE_REMISSION_LABELS:-} + OVIS_PREPROC_RCLASS_SUCCESS: ${OVIS_PREPROC_RCLASS_SUCCESS:-} + OVIS_PREPROC_LOCAL_RSTATE_SUCCESS: ${OVIS_PREPROC_LOCAL_RSTATE_SUCCESS:-} + OVIS_PREPROC_METASTASIS_PREFIXES: ${OVIS_PREPROC_METASTASIS_PREFIXES:-} + OVIS_PREPROC_METASTASIS_SPREAD_VALUES: ${OVIS_PREPROC_METASTASIS_SPREAD_VALUES:-} + OVIS_PREPROC_METASTASIS_STRAT_SYNCHRON: ${OVIS_PREPROC_METASTASIS_STRAT_SYNCHRON:-} + OVIS_PREPROC_METASTASIS_STRAT_NONE: ${OVIS_PREPROC_METASTASIS_STRAT_NONE:-} + OVIS_PREPROC_NULL_STUDY_PHASES: ${OVIS_PREPROC_NULL_STUDY_PHASES:-} + OVIS_PREPROC_PREV_THERAPY_SURGERY: ${OVIS_PREPROC_PREV_THERAPY_SURGERY:-} + OVIS_PREPROC_PREV_THERAPY_SYSTEMIC: ${OVIS_PREPROC_PREV_THERAPY_SYSTEMIC:-} + OVIS_PREPROC_PREV_THERAPY_RADIATION: ${OVIS_PREPROC_PREV_THERAPY_RADIATION:-} + OVIS_PREPROC_PREV_CONSULTATION_NUTRITION: ${OVIS_PREPROC_PREV_CONSULTATION_NUTRITION:-} + OVIS_PREPROC_PREV_CONSULTATION_SOCIAL: ${OVIS_PREPROC_PREV_CONSULTATION_SOCIAL:-} + OVIS_PREPROC_PREV_CONSULTATION_PSYCHO: ${OVIS_PREPROC_PREV_CONSULTATION_PSYCHO:-} + OVIS_PREPROC_PREV_CONSULTATION_GENETIC: ${OVIS_PREPROC_PREV_CONSULTATION_GENETIC:-} + OVIS_PREPROC_TUMORBOARD_PATTERN_PRAE: ${OVIS_PREPROC_TUMORBOARD_PATTERN_PRAE:-} + OVIS_PREPROC_TUMORBOARD_PATTERN_POST: ${OVIS_PREPROC_TUMORBOARD_PATTERN_POST:-} + OVIS_PREPROC_TUMORBOARD_PATTERN_MTB: ${OVIS_PREPROC_TUMORBOARD_PATTERN_MTB:-} + OVIS_PREPROC_ECOG_PREFIX: ${OVIS_PREPROC_ECOG_PREFIX:-} + OVIS_PREPROC_DISTRESS_TYPE: ${OVIS_PREPROC_DISTRESS_TYPE:-} + OVIS_PREPROC_DISTRESS_POSITIVE_VALUES: ${OVIS_PREPROC_DISTRESS_POSITIVE_VALUES:-} + 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-${OVIS_IMPORT_MODE:-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: ${FHIR_SERVER_URL:-http://bridgehead-ccp-blaze:8080/fhir} + FHIR_USERNAME: ${FHIR_USERNAME:-} + FHIR_PASSWORD: ${FHIR_PASSWORD:-} + ICD10_FILTER: ${ICD10_FILTER:-} + # Required for both CCP and DEMO: preprocessor upload endpoint + OVIS_PREPROCESSOR_URL: ${OVIS_PREPROCESSOR_URL:-http://ovis-backend-data-preprocessing:9000/omock} + # Proxy configuration + HTTP_PROXY: ${OVIS_HTTP_PROXY:-} + HTTPS_PROXY: ${OVIS_HTTPS_PROXY:-} + NO_PROXY: ${OVIS_NO_PROXY:-} + http_proxy: ${OVIS_HTTP_PROXY:-} + https_proxy: ${OVIS_HTTPS_PROXY:-} + no_proxy: ${OVIS_NO_PROXY:-} + volumes: + - /var/cache/bridgehead/ccp/ovis/shared_data:/shared + backend: image: docker.verbis.dkfz.de/ovis/adt-mon-gql-backend:latest container_name: bridgehead-ccp-ovis-backend @@ -31,27 +102,17 @@ services: CREDOS_PORT: ${CREDOS_PORT:-4000} CORS_ORIGIN: ${OVIS_CORS_ORIGIN:-*} DB: ${DB:-onc_test} - ADRESS: ${ADRESS:-mongodb://mongo:27017} + ADRESS: mongodb://mongo:27017 depends_on: - mongo - - fhir-transformer + - ovis-backend-data-preprocessing + - ovis-backend-data-import healthcheck: test: ["CMD", "curl", "-f", "http://localhost:${APOLLO_PORT:-4001}/health"] interval: 5s timeout: 3s retries: 5 start_period: 10s - entrypoint: > - sh -c " - while [ ! -f /shared/omock.json ]; do - echo 'Waiting for omock.json...' - sleep 5 - done; - mkdir -p ./prep && - cp /shared/omock.json ./prep/omock.json && - node ./mgDB/prep/preprocessor.mjs && - echo 'Processing complete' && - exec node --watch index.js" labels: - "traefik.enable=true" - "traefik.http.routers.ovis-backend.rule=Host(`${HOST:-localhost}`) && PathPrefix(`/graphql`)" @@ -62,8 +123,6 @@ services: - "traefik.http.middlewares.ovis-backend-ccp-strip.stripprefix.prefixes=/ccp-ovis" - "traefik.http.routers.ovis-backend-ccp.middlewares=ovis-backend-ccp-strip,${OVIS_AUTH_MIDDLEWARE:-traefik-forward-auth}" - "traefik.http.services.ovis-backend.loadbalancer.server.port=${APOLLO_PORT:-4001}" - volumes: - - /var/cache/bridgehead/ccp/ovis/shared_data:/shared frontend: image: docker.verbis.dkfz.de/ovis/adt-mon-gql-frontend:latest @@ -71,7 +130,18 @@ services: restart: always environment: PUBLIC_GRAPHQL_URL: https://${HOST:-localhost}/ccp-ovis/graphql - PUBLIC_LOGIN_ENABLED: "false" + PUBLIC_LOGIN_ENABLED: ${PUBLIC_LOGIN_ENABLED:-false} + PUBLIC_OVIS_IMPORT: ${OVIS_IMPORT_MODE:-demo} + OVIS_CATALOGUE_UPSTREAM_URL: ${OVIS_CATALOGUE_UPSTREAM_URL:-http://ovis-backend-data-preprocessing:9000/catalogue} + EXPRESS_AUTH_URL: ${EXPRESS_AUTH_URL:-http://express-auth:5000} + EXPRESS_AUTH_USERNAME: ${EXPRESS_AUTH_USERNAME:-admin} + EXPRESS_AUTH_PASSWORD: ${EXPRESS_AUTH_PASSWORD:-admin} + HTTP_PROXY: ${OVIS_HTTP_PROXY:-} + HTTPS_PROXY: ${OVIS_HTTPS_PROXY:-} + NO_PROXY: ${OVIS_NO_PROXY:-} + http_proxy: ${OVIS_HTTP_PROXY:-} + https_proxy: ${OVIS_HTTPS_PROXY:-} + no_proxy: ${OVIS_NO_PROXY:-} depends_on: backend: condition: service_healthy