Refactor ovis-compose.yml to add new services

This commit is contained in:
tm16-medma
2026-03-17 15:59:15 +01:00
committed by GitHub
parent d386766e13
commit f3009f347e

View File

@@ -1,17 +1,6 @@
version: "3.7" version: "3.7"
services: 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: mongo:
image: mongo:${MONGO_VER:-latest} image: mongo:${MONGO_VER:-latest}
container_name: bridgehead-ccp-ovis-mongo container_name: bridgehead-ccp-ovis-mongo
@@ -20,6 +9,88 @@ services:
volumes: volumes:
- /var/cache/bridgehead/ccp/ovis/mongo/init/init.js:/docker-entrypoint-initdb.d/init.js:ro - /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: backend:
image: docker.verbis.dkfz.de/ovis/adt-mon-gql-backend:latest image: docker.verbis.dkfz.de/ovis/adt-mon-gql-backend:latest
container_name: bridgehead-ccp-ovis-backend container_name: bridgehead-ccp-ovis-backend
@@ -31,27 +102,17 @@ services:
CREDOS_PORT: ${CREDOS_PORT:-4000} CREDOS_PORT: ${CREDOS_PORT:-4000}
CORS_ORIGIN: ${OVIS_CORS_ORIGIN:-*} CORS_ORIGIN: ${OVIS_CORS_ORIGIN:-*}
DB: ${DB:-onc_test} DB: ${DB:-onc_test}
ADRESS: ${ADRESS:-mongodb://mongo:27017} ADRESS: mongodb://mongo:27017
depends_on: depends_on:
- mongo - mongo
- fhir-transformer - ovis-backend-data-preprocessing
- ovis-backend-data-import
healthcheck: healthcheck:
test: ["CMD", "curl", "-f", "http://localhost:${APOLLO_PORT:-4001}/health"] test: ["CMD", "curl", "-f", "http://localhost:${APOLLO_PORT:-4001}/health"]
interval: 5s interval: 5s
timeout: 3s timeout: 3s
retries: 5 retries: 5
start_period: 10s 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: labels:
- "traefik.enable=true" - "traefik.enable=true"
- "traefik.http.routers.ovis-backend.rule=Host(`${HOST:-localhost}`) && PathPrefix(`/graphql`)" - "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.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.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}" - "traefik.http.services.ovis-backend.loadbalancer.server.port=${APOLLO_PORT:-4001}"
volumes:
- /var/cache/bridgehead/ccp/ovis/shared_data:/shared
frontend: frontend:
image: docker.verbis.dkfz.de/ovis/adt-mon-gql-frontend:latest image: docker.verbis.dkfz.de/ovis/adt-mon-gql-frontend:latest
@@ -71,7 +130,18 @@ services:
restart: always restart: always
environment: environment:
PUBLIC_GRAPHQL_URL: https://${HOST:-localhost}/ccp-ovis/graphql 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: depends_on:
backend: backend:
condition: service_healthy condition: service_healthy