@@ -1,8 +1,9 @@
 | 
				
			|||||||
version: "3.7"
 | 
					version: "3.7"
 | 
				
			||||||
 | 
					
 | 
				
			||||||
services:
 | 
					services:
 | 
				
			||||||
 | 
					  ### Does not need proxy settings
 | 
				
			||||||
  traefik:
 | 
					  traefik:
 | 
				
			||||||
    container_name: bridgehead_traefik
 | 
					    container_name: bridgehead-traefik
 | 
				
			||||||
    image: traefik:2.4
 | 
					    image: traefik:2.4
 | 
				
			||||||
    command:
 | 
					    command:
 | 
				
			||||||
      - --api.insecure=true
 | 
					      - --api.insecure=true
 | 
				
			||||||
@@ -25,8 +26,20 @@ services:
 | 
				
			|||||||
    extra_hosts:
 | 
					    extra_hosts:
 | 
				
			||||||
      - "host.docker.internal:host-gateway"
 | 
					      - "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:
 | 
					  landing:
 | 
				
			||||||
    container_name: bridgehead_landingpage
 | 
					    container_name: bridgehead-landingpage
 | 
				
			||||||
    image: nginx:stable
 | 
					    image: nginx:stable
 | 
				
			||||||
    volumes:
 | 
					    volumes:
 | 
				
			||||||
      - ../landing/:/usr/share/nginx/html
 | 
					      - ../landing/:/usr/share/nginx/html
 | 
				
			||||||
@@ -36,9 +49,10 @@ services:
 | 
				
			|||||||
      - "traefik.http.services.landing.loadbalancer.server.port=80"
 | 
					      - "traefik.http.services.landing.loadbalancer.server.port=80"
 | 
				
			||||||
      - "traefik.http.routers.landing.tls=true"
 | 
					      - "traefik.http.routers.landing.tls=true"
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					## Needs internal proxy config
 | 
				
			||||||
  blaze:
 | 
					  blaze:
 | 
				
			||||||
    image: "samply/blaze:0.16"
 | 
					    image: "samply/blaze:0.16"
 | 
				
			||||||
    container_name: bridgehead_dktk_blaze
 | 
					    container_name: bridgehead-dktk-blaze
 | 
				
			||||||
    environment:
 | 
					    environment:
 | 
				
			||||||
      BASE_URL: "http://blaze:8080"
 | 
					      BASE_URL: "http://blaze:8080"
 | 
				
			||||||
      JAVA_TOOL_OPTIONS: "-Xmx4g"
 | 
					      JAVA_TOOL_OPTIONS: "-Xmx4g"
 | 
				
			||||||
@@ -55,6 +69,38 @@ services:
 | 
				
			|||||||
      - "traefik.http.routers.blaze_dktk.middlewares=dktk_b_strip,test-auth"
 | 
					      - "traefik.http.routers.blaze_dktk.middlewares=dktk_b_strip,test-auth"
 | 
				
			||||||
      - "traefik.http.routers.blaze_dktk.tls=true"
 | 
					      - "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:
 | 
					    # dktk-fed-search-share:
 | 
				
			||||||
  #   image: "ghcr.io/samply/dktk-fed-search-share:pr-1"
 | 
					  #   image: "ghcr.io/samply/dktk-fed-search-share:pr-1"
 | 
				
			||||||
  #   container_name: bridgehead_dktk_share
 | 
					  #   container_name: bridgehead_dktk_share
 | 
				
			||||||
@@ -89,4 +135,6 @@ services:
 | 
				
			|||||||
 | 
					
 | 
				
			||||||
volumes:
 | 
					volumes:
 | 
				
			||||||
  blaze-data:
 | 
					  blaze-data:
 | 
				
			||||||
 | 
					  dktk-connector-logs:
 | 
				
			||||||
 | 
					  dktk-connector-db-data:
 | 
				
			||||||
  # dktk-fed-search-share-db-data:
 | 
					  # dktk-fed-search-share-db-data:
 | 
				
			||||||
@@ -0,0 +1,84 @@
 | 
				
			|||||||
 | 
					<html lang="en">
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					<head>
 | 
				
			||||||
 | 
					  <meta charset="utf-8">
 | 
				
			||||||
 | 
					  <meta name="viewport" content="width=device-width, initial-scale=1">
 | 
				
			||||||
 | 
					  <meta name="description" content="">
 | 
				
			||||||
 | 
					  <title>Bridgehead Overview</title>
 | 
				
			||||||
 | 
					  <!-- Bootstrap core CSS -->
 | 
				
			||||||
 | 
					  <link href="https://cdn.jsdelivr.net/npm/bootstrap@5.1.3/dist/css/bootstrap.min.css" rel="stylesheet"
 | 
				
			||||||
 | 
					    integrity="sha384-1BmE4kWBq78iYhFldvKuhfTAU6auU8tT94WrHftjDbrCEXSU1oBoqyl2QvZ6jIW3" crossorigin="anonymous">
 | 
				
			||||||
 | 
					  <script src="https://cdn.jsdelivr.net/npm/bootstrap@5.1.3/dist/js/bootstrap.bundle.min.js"
 | 
				
			||||||
 | 
					    integrity="sha384-ka7Sk0Gln4gmtz2MlQnikT1wXgYsOg+OMhuP+IlRH9sENBO0LRn5q+8nbTov4+1p"
 | 
				
			||||||
 | 
					    crossorigin="anonymous"></script>
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					</head>
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					<body>
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					  <nav class="navbar navbar-light" style="background-color: #aad7f6;">
 | 
				
			||||||
 | 
					    <h2 class="pb-2 border-bottom">Bridgehead </h2>
 | 
				
			||||||
 | 
					  </nav>
 | 
				
			||||||
 | 
					  <div class="container px-4 py-5" id="featured-3">
 | 
				
			||||||
 | 
					    <div>
 | 
				
			||||||
 | 
					      <h2>Components</h2>
 | 
				
			||||||
 | 
					      <h3>Central</h3>
 | 
				
			||||||
 | 
					      <table class="table">
 | 
				
			||||||
 | 
					        <thead class="thead-dark">
 | 
				
			||||||
 | 
					          <tr>
 | 
				
			||||||
 | 
					            <th style="width: 50%">Group</th>
 | 
				
			||||||
 | 
					            <th style="width: 50%">Service</th>
 | 
				
			||||||
 | 
					          </tr>
 | 
				
			||||||
 | 
					        </thead>
 | 
				
			||||||
 | 
					        <tbody>
 | 
				
			||||||
 | 
					          <tr>
 | 
				
			||||||
 | 
					            <td>CCP-IT</td>
 | 
				
			||||||
 | 
					            <td><a href="https://patientlist.ccp-it.dktk.dkfz.de">Zentrale Patientenliste</td>
 | 
				
			||||||
 | 
					          </tr>
 | 
				
			||||||
 | 
					          <tr>
 | 
				
			||||||
 | 
					            <td>CCP-IT</td>
 | 
				
			||||||
 | 
					            <td><a href="https://decentralsearch.ccp-it.dktk.dkfz.de">Dezentrale Suche</td>
 | 
				
			||||||
 | 
					          </tr>
 | 
				
			||||||
 | 
					          <tr>
 | 
				
			||||||
 | 
					            <td>CCP-IT</td>
 | 
				
			||||||
 | 
					            <td><a href="https://centralsearch.ccp-it.dktk.dkfz.de">Zentrale Suche</td>
 | 
				
			||||||
 | 
					          </tr>
 | 
				
			||||||
 | 
					          <tr>
 | 
				
			||||||
 | 
					            <td>CCP-IT</td>
 | 
				
			||||||
 | 
					            <td><a href="https://deployment.ccp-it.dktk.dkfz.de">Deployment-Server</td>
 | 
				
			||||||
 | 
					          </tr>
 | 
				
			||||||
 | 
					          <tr>
 | 
				
			||||||
 | 
					            <td>CCP-IT</td>
 | 
				
			||||||
 | 
					            <td><a href="https://dktk-kne.kgu.de">Zentraler Kontrollnummernerzeuger</td>
 | 
				
			||||||
 | 
					          </tr>
 | 
				
			||||||
 | 
					        </tbody>
 | 
				
			||||||
 | 
					      </table>
 | 
				
			||||||
 | 
					    </div>
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					    <div>
 | 
				
			||||||
 | 
					      <h3>Local</h3>
 | 
				
			||||||
 | 
					      <table class="table">
 | 
				
			||||||
 | 
					        <thead class="thead-dark">
 | 
				
			||||||
 | 
					          <tr>
 | 
				
			||||||
 | 
					            <th style="width: 50%">Project</th>
 | 
				
			||||||
 | 
					            <th style="width: 50%">Services</th>
 | 
				
			||||||
 | 
					          </tr>
 | 
				
			||||||
 | 
					        </thead>
 | 
				
			||||||
 | 
					        <tbody>
 | 
				
			||||||
 | 
					          <tr>
 | 
				
			||||||
 | 
					            <td>Bridgehead</td>
 | 
				
			||||||
 | 
					            <td>Reverse Proxy <a href="http://e260-serv-05:8080/">Traefik</a></td>
 | 
				
			||||||
 | 
					          </tr>
 | 
				
			||||||
 | 
					          <tr>
 | 
				
			||||||
 | 
					            <td>DKTK</td>
 | 
				
			||||||
 | 
					            <td><a href="http://e260-serv-05/dktk-localdatamanagement/fhir/">Blaze</a></td>
 | 
				
			||||||
 | 
					          </tr>
 | 
				
			||||||
 | 
					        </tbody>
 | 
				
			||||||
 | 
					      </table>
 | 
				
			||||||
 | 
					    </div>
 | 
				
			||||||
 | 
					    <footer class="footer mt-auto py-3 ">
 | 
				
			||||||
 | 
					     <a href="https://dktk.dkfz.de/"><img src="https://www.oncoray.de/fileadmin/files/bilder_gruppen/DKTK/Logo_DKTK_neu_2016.jpg" height="10%" width="30%"></a> DKTK 2022
 | 
				
			||||||
 | 
					    </footer>
 | 
				
			||||||
 | 
					</body>
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					</html>
 | 
				
			||||||
 
 | 
				
			|||||||
@@ -1,6 +1,6 @@
 | 
				
			|||||||
#!/bin/bash
 | 
					#!/bin/bash
 | 
				
			||||||
 | 
					
 | 
				
			||||||
cat > ../landing/index.html <<EOL
 | 
					cat > ./landing/index.html <<EOL
 | 
				
			||||||
<html lang="en">
 | 
					<html lang="en">
 | 
				
			||||||
 | 
					
 | 
				
			||||||
<head>
 | 
					<head>
 | 
				
			||||||
 
 | 
				
			|||||||
@@ -4,7 +4,7 @@
 | 
				
			|||||||
## Check if user is a su
 | 
					## Check if user is a su
 | 
				
			||||||
echo "Welcome to the starting a bridgehead. We will get your instance up and running in no time"
 | 
					echo "Welcome to the starting a bridgehead. We will get your instance up and running in no time"
 | 
				
			||||||
echo "First we will check if all prerequisites are met ..."
 | 
					echo "First we will check if all prerequisites are met ..."
 | 
				
			||||||
prerequisites="git docker docker-compose cat"
 | 
					prerequisites="git docker docker-compose"
 | 
				
			||||||
for prerequisite in $prerequisites; do
 | 
					for prerequisite in $prerequisites; do
 | 
				
			||||||
  $prerequisite --version 2>&1
 | 
					  $prerequisite --version 2>&1
 | 
				
			||||||
  is_available=$?
 | 
					  is_available=$?
 | 
				
			||||||
 
 | 
				
			|||||||
							
								
								
									
										85
									
								
								nngm/docker-compose.yml
									
									
									
									
									
										Normal file
									
								
							
							
						
						
									
										85
									
								
								nngm/docker-compose.yml
									
									
									
									
									
										Normal file
									
								
							@@ -0,0 +1,85 @@
 | 
				
			|||||||
 | 
					version: "3.7"
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					services:
 | 
				
			||||||
 | 
					  traefik:
 | 
				
			||||||
 | 
					    container_name: bridgehead-traefik
 | 
				
			||||||
 | 
					    image: traefik:2.4
 | 
				
			||||||
 | 
					    command:
 | 
				
			||||||
 | 
					      - --api.insecure=true
 | 
				
			||||||
 | 
					      - --entrypoints.web.address=:80
 | 
				
			||||||
 | 
					      - --entrypoints.websecure.address=:443
 | 
				
			||||||
 | 
					      - --providers.docker=true
 | 
				
			||||||
 | 
					      - --entrypoints.web.http.redirections.entrypoint.to=websecure
 | 
				
			||||||
 | 
					      - --entrypoints.web.http.redirections.entrypoint.scheme=https
 | 
				
			||||||
 | 
					    ports:
 | 
				
			||||||
 | 
					      - 80:80
 | 
				
			||||||
 | 
					      - 443:443
 | 
				
			||||||
 | 
					      - 8080:8080
 | 
				
			||||||
 | 
					    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"
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					  nngm-connector:
 | 
				
			||||||
 | 
					      container_name: bridgehead-nngm-connector
 | 
				
			||||||
 | 
					      image: "samply/share-client:nngm-feature-environmentPreconfiguration"
 | 
				
			||||||
 | 
					      environment:
 | 
				
			||||||
 | 
					        POSTGRES_PASSWORD: ${POSTGRES_PASSWORD}
 | 
				
			||||||
 | 
					        NNGM_MAGICPL_APIKEY: ${NNGM_MAGICPL_APIKEY}
 | 
				
			||||||
 | 
					        NNGM_MAINZELLISTE_APIKEY: ${NNGM_MAINZELLISTE_APIKEY}
 | 
				
			||||||
 | 
					        NNGM_CTS_APIKEY: ${NNGM_CTS_APIKEY}
 | 
				
			||||||
 | 
					        NNGM_CRYPTKEY: ${NNGM_CRYPTKEY}
 | 
				
			||||||
 | 
					      volumes:
 | 
				
			||||||
 | 
					        - "nngm-connector-logs:/usr/local/tomcat/logs"
 | 
				
			||||||
 | 
					      labels:
 | 
				
			||||||
 | 
					        - "traefik.enable=true"
 | 
				
			||||||
 | 
					        - "traefik.http.routers.nngm_connector.rule=PathPrefix(`/nngm-connector`)"
 | 
				
			||||||
 | 
					        - "traefik.http.services.nngm_connector.loadbalancer.server.port=8080"
 | 
				
			||||||
 | 
					        - "traefik.http.routers.nngm_connector.tls=true"
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					      depends_on:
 | 
				
			||||||
 | 
					        - "nngm-connector-db"
 | 
				
			||||||
 | 
					        - "forward_proxy"
 | 
				
			||||||
 | 
					      ports:
 | 
				
			||||||
 | 
					      - 5005:5005
 | 
				
			||||||
 | 
					      restart: "always"
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					  nngm-connector-db:
 | 
				
			||||||
 | 
					      container_name: bridgehead-nngm-connector-db
 | 
				
			||||||
 | 
					      image: "postgres:10.17"
 | 
				
			||||||
 | 
					      environment:
 | 
				
			||||||
 | 
					        POSTGRES_DB: "share_v2"
 | 
				
			||||||
 | 
					        POSTGRES_USER: "samplyweb"
 | 
				
			||||||
 | 
					        POSTGRES_PASSWORD: ${POSTGRES_PASSWORD}
 | 
				
			||||||
 | 
					      volumes:
 | 
				
			||||||
 | 
					        - "nngm-connector-db-data:/var/lib/postgresql/data"
 | 
				
			||||||
 | 
					      restart: "always"
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					volumes:
 | 
				
			||||||
 | 
					  nngm-connector-db-data:
 | 
				
			||||||
 | 
					  nngm-connector-logs:
 | 
				
			||||||
 | 
					  bridgehead-proxy:
 | 
				
			||||||
		Reference in New Issue
	
	Block a user