mirror of
				https://github.com/samply/bridgehead.git
				synced 2025-11-04 01:20:17 +01:00 
			
		
		
		
	Refactor Docker Compose
- Replaced GUI_HOST with HOST - Removed NODE_ENV - Combine init_onco and backend service - removed node_modules and .svelte-kit volumes - removed mongodb volumes - adjusted http_proxy and https_proxy - adjusted path prefix from oaut2 to oauth2-ovis - removed network-mode "host" in fhir-transformer service
This commit is contained in:
		@@ -5,20 +5,20 @@ services:
 | 
				
			|||||||
  ovis-traefik-forward-auth:
 | 
					  ovis-traefik-forward-auth:
 | 
				
			||||||
      image: quay.io/oauth2-proxy/oauth2-proxy:latest
 | 
					      image: quay.io/oauth2-proxy/oauth2-proxy:latest
 | 
				
			||||||
      environment:
 | 
					      environment:
 | 
				
			||||||
        - http_proxy=${http_proxy}
 | 
					        - http_proxy=${http_proxy:-http://forward_proxy:3128}
 | 
				
			||||||
        - https_proxy=${https_proxy}
 | 
					        - https_proxy=${https_proxy:-http://forward_proxy:3128}
 | 
				
			||||||
        - OAUTH2_PROXY_PROVIDER=oidc
 | 
					        - OAUTH2_PROXY_PROVIDER=oidc
 | 
				
			||||||
        - OAUTH2_PROXY_SKIP_PROVIDER_BUTTON=true
 | 
					        - OAUTH2_PROXY_SKIP_PROVIDER_BUTTON=true
 | 
				
			||||||
        - OAUTH2_PROXY_OIDC_ISSUER_URL=${OAUTH_ISSUER_URL}
 | 
					        - OAUTH2_PROXY_OIDC_ISSUER_URL=${OAUTH_ISSUER_URL}
 | 
				
			||||||
        - OAUTH2_PROXY_CLIENT_ID=${OAUTH_CLIENT_ID}
 | 
					        - OAUTH2_PROXY_CLIENT_ID=${OAUTH_CLIENT_ID}
 | 
				
			||||||
        - OAUTH2_PROXY_CLIENT_SECRET=${OAUTH_CLIENT_SECRET}
 | 
					        - OAUTH2_PROXY_CLIENT_SECRET=${OAUTH_CLIENT_SECRET}
 | 
				
			||||||
        - OAUTH2_PROXY_COOKIE_SECRET=${AUTHENTICATION_SECRET}
 | 
					        - OAUTH2_PROXY_COOKIE_SECRET=${AUTHENTICATION_SECRET}
 | 
				
			||||||
        - OAUTH2_PROXY_COOKIE_DOMAINS=.${GUI_HOST:-localhost}
 | 
					        - OAUTH2_PROXY_COOKIE_DOMAINS=.${HOST:-localhost}
 | 
				
			||||||
        - OAUTH2_PROXY_COOKIE_REFRESH=4m
 | 
					        - OAUTH2_PROXY_COOKIE_REFRESH=4m
 | 
				
			||||||
        - OAUTH2_PROXY_COOKIE_EXPIRE=24h
 | 
					        - OAUTH2_PROXY_COOKIE_EXPIRE=24h
 | 
				
			||||||
        - OAUTH2_PROXY_HTTP_ADDRESS=:4180
 | 
					        - OAUTH2_PROXY_HTTP_ADDRESS=:4180
 | 
				
			||||||
        - OAUTH2_PROXY_REVERSE_PROXY=true
 | 
					        - OAUTH2_PROXY_REVERSE_PROXY=true
 | 
				
			||||||
        - OAUTH2_PROXY_WHITELIST_DOMAINS=.${GUI_HOST:-localhost}
 | 
					        - OAUTH2_PROXY_WHITELIST_DOMAINS=.${HOST:-localhost}
 | 
				
			||||||
        - OAUTH2_PROXY_UPSTREAMS=static://202
 | 
					        - OAUTH2_PROXY_UPSTREAMS=static://202
 | 
				
			||||||
        - OAUTH2_PROXY_EMAIL_DOMAINS=*
 | 
					        - OAUTH2_PROXY_EMAIL_DOMAINS=*
 | 
				
			||||||
        - OAUTH2_PROXY_ALLOWED_GROUPS=app-ovis
 | 
					        - OAUTH2_PROXY_ALLOWED_GROUPS=app-ovis
 | 
				
			||||||
@@ -35,13 +35,12 @@ services:
 | 
				
			|||||||
        - "traefik.http.middlewares.ovis-traefik-forward-auth.forwardauth.address=http://ovis-traefik-forward-auth:4180"
 | 
					        - "traefik.http.middlewares.ovis-traefik-forward-auth.forwardauth.address=http://ovis-traefik-forward-auth:4180"
 | 
				
			||||||
        - "traefik.http.middlewares.ovis-traefik-forward-auth.forwardauth.authResponseHeaders=Authorization, X-Forwarded-User, X-Auth-Request-User, X-Auth-Request-Email"
 | 
					        - "traefik.http.middlewares.ovis-traefik-forward-auth.forwardauth.authResponseHeaders=Authorization, X-Forwarded-User, X-Auth-Request-User, X-Auth-Request-Email"
 | 
				
			||||||
        - "traefik.http.services.ovis-traefik-forward-auth.loadbalancer.server.port=4180"
 | 
					        - "traefik.http.services.ovis-traefik-forward-auth.loadbalancer.server.port=4180"
 | 
				
			||||||
        - "traefik.http.routers.oauth2.rule=Host(`${GUI_HOST:-localhost}`) && PathPrefix(`/oauth2/`)"
 | 
					        - "traefik.http.routers.oauth2.rule=Host(`${HOST:-localhost}`) && PathPrefix(`/oauth2-ovis/`)"
 | 
				
			||||||
        - "traefik.http.routers.oauth2.tls=true"
 | 
					        - "traefik.http.routers.oauth2.tls=true"
 | 
				
			||||||
 | 
					
 | 
				
			||||||
  fhir-transformer:
 | 
					  fhir-transformer:
 | 
				
			||||||
    image: docker.verbis.dkfz.de/ovis/adt-mon-gql-fhir-transformer:latest
 | 
					    image: docker.verbis.dkfz.de/ovis/adt-mon-gql-fhir-transformer:latest
 | 
				
			||||||
    restart: on-failure
 | 
					    restart: on-failure
 | 
				
			||||||
    network_mode: "host"
 | 
					 | 
				
			||||||
    environment:
 | 
					    environment:
 | 
				
			||||||
      - FHIR_SERVER_URL=${FHIR_SERVER_URL:-http://bridgehead-ccp-blaze:8080/fhir}
 | 
					      - FHIR_SERVER_URL=${FHIR_SERVER_URL:-http://bridgehead-ccp-blaze:8080/fhir}
 | 
				
			||||||
      - FHIR_USERNAME=${FHIR_USERNAME}
 | 
					      - FHIR_USERNAME=${FHIR_USERNAME}
 | 
				
			||||||
@@ -53,72 +52,54 @@ services:
 | 
				
			|||||||
    image: mongo:${MONGO_VER:-latest}
 | 
					    image: mongo:${MONGO_VER:-latest}
 | 
				
			||||||
    restart: always
 | 
					    restart: always
 | 
				
			||||||
    command: mongod
 | 
					    command: mongod
 | 
				
			||||||
    volumes:
 | 
					 | 
				
			||||||
      - /var/cache/bridgehead/ccp/ovis/mongo/mongo_db:/data/db
 | 
					 | 
				
			||||||
      - /var/cache/bridgehead/ccp/ovis/mongo/mongo_conf:/data/configdb
 | 
					 | 
				
			||||||
      - /var/cache/bridgehead/ccp/ovis/mongo/init/init.js:/docker-entrypoint-initdb.d/init.js
 | 
					      - /var/cache/bridgehead/ccp/ovis/mongo/init/init.js:/docker-entrypoint-initdb.d/init.js
 | 
				
			||||||
 | 
					
 | 
				
			||||||
  init_onco:
 | 
					 | 
				
			||||||
    image: docker.verbis.dkfz.de/ovis/adt-mon-gql-backend:latest
 | 
					 | 
				
			||||||
    restart: on-failure
 | 
					 | 
				
			||||||
    working_dir: /app
 | 
					 | 
				
			||||||
    user: root
 | 
					 | 
				
			||||||
    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';"
 | 
					 | 
				
			||||||
    depends_on:
 | 
					 | 
				
			||||||
      - mongo
 | 
					 | 
				
			||||||
      - fhir-transformer
 | 
					 | 
				
			||||||
    environment:
 | 
					 | 
				
			||||||
      - APOLLO_PORT=${APOLLO_PORT:-4001}
 | 
					 | 
				
			||||||
      - CREDOS_PORT=${CREDOS_PORT:-4000}
 | 
					 | 
				
			||||||
      - MONGO_VER=latest
 | 
					 | 
				
			||||||
      - DB=${DB:-onc_test}
 | 
					 | 
				
			||||||
      - ADRESS=${ADRESS:-mongodb://mongo:27017}
 | 
					 | 
				
			||||||
    volumes:
 | 
					 | 
				
			||||||
      - /var/cache/bridgehead/ccp/ovis/shared_data:/shared
 | 
					 | 
				
			||||||
      - /var/cache/bridgehead/ccp/ovis/init_onco/node_modules:/app/node_modules  
 | 
					 | 
				
			||||||
 | 
					 | 
				
			||||||
  backend:
 | 
					  backend:
 | 
				
			||||||
    image: docker.verbis.dkfz.de/ovis/adt-mon-gql-backend:latest
 | 
					    image: docker.verbis.dkfz.de/ovis/adt-mon-gql-backend:latest
 | 
				
			||||||
    restart: always
 | 
					    restart: always
 | 
				
			||||||
 | 
					    user: root
 | 
				
			||||||
    working_dir: /app
 | 
					    working_dir: /app
 | 
				
			||||||
    environment:
 | 
					    environment:
 | 
				
			||||||
      - APOLLO_PORT=${APOLLO_PORT:-4001}
 | 
					      - APOLLO_PORT=${APOLLO_PORT:-4001}
 | 
				
			||||||
      - CREDOS_PORT=${CREDOS_PORT:-4000}
 | 
					      - CREDOS_PORT=${CREDOS_PORT:-4000}
 | 
				
			||||||
      - MONGO_VER=latest
 | 
					      - MONGO_VER=latest
 | 
				
			||||||
      - NODE_ENV=development
 | 
					 | 
				
			||||||
      - CORS_ORIGIN=*
 | 
					      - CORS_ORIGIN=*
 | 
				
			||||||
      - DB=${DB:-onc_test}
 | 
					      - DB=${DB:-onc_test}
 | 
				
			||||||
      - ADRESS=${ADRESS:-mongodb://mongo:27017}
 | 
					      - ADRESS=${ADRESS:-mongodb://mongo:27017}
 | 
				
			||||||
    depends_on:
 | 
					    depends_on:
 | 
				
			||||||
      - mongo
 | 
					      - mongo
 | 
				
			||||||
      - init_onco
 | 
					      - fhir-transformer
 | 
				
			||||||
    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: ["node", "--watch", "index.js"]
 | 
					    entrypoint: >
 | 
				
			||||||
 | 
					      sh -c "
 | 
				
			||||||
 | 
					        # First run the initialization process
 | 
				
			||||||
 | 
					        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.tls=true"
 | 
					      - "traefik.http.routers.backend-gql.rule=Host(`${HOST:-localhost}`) && PathPrefix(`/graphql`)"
 | 
				
			||||||
      - "traefik.http.services.ovis-backend.loadbalancer.server.port=4001"
 | 
					      - "traefik.http.routers.backend-gql.tls=true"
 | 
				
			||||||
 | 
					      - "traefik.http.services.backend-gql.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
 | 
				
			||||||
    restart: always
 | 
					    restart: always
 | 
				
			||||||
    environment:
 | 
					    environment:
 | 
				
			||||||
      - NODE_ENV=development
 | 
					      - PUBLIC_GRAPHQL_URL=https://${HOST:-localhost}/graphql
 | 
				
			||||||
      - VITE_GRAPHQL_URL=http://localhost:${APOLLO_PORT:-4001}/graphql
 | 
					 | 
				
			||||||
    depends_on:
 | 
					    depends_on:
 | 
				
			||||||
      backend:
 | 
					      backend:
 | 
				
			||||||
        condition: service_healthy
 | 
					        condition: service_healthy
 | 
				
			||||||
@@ -126,8 +107,6 @@ services:
 | 
				
			|||||||
    labels:
 | 
					    labels:
 | 
				
			||||||
      - "traefik.enable=true"
 | 
					      - "traefik.enable=true"
 | 
				
			||||||
      - "traefik.http.routers.ovis-frontend.tls=true"
 | 
					      - "traefik.http.routers.ovis-frontend.tls=true"
 | 
				
			||||||
      - "traefik.http.routers.ovis-frontend.rule=Host(`${GUI_HOST:-localhost}`)"
 | 
					      - "traefik.http.routers.ovis-frontend.rule=Host(`${HOST:-localhost}`)"
 | 
				
			||||||
      # - "traefik.http.routers.lens.middlewares=traefik-forward-auth"
 | 
					      - "traefik.http.routers.lens.middlewares=traefik-forward-auth"
 | 
				
			||||||
      - "traefik.http.services.ovis-frontend.loadbalancer.server.port=5173"
 | 
					      - "traefik.http.services.ovis-frontend.loadbalancer.server.port=5173"
 | 
				
			||||||
    volumes:
 | 
					 | 
				
			||||||
      - /var/cache/bridgehead/ccp/ovis/frontend/.svelte-kit:/app/.svelte-kit
 | 
					 | 
				
			||||||
		Reference in New Issue
	
	Block a user