mirror of
https://github.com/samply/bridgehead.git
synced 2025-06-16 16:10:14 +02:00
Compare commits
25 Commits
ehds2
...
feature/dn
Author | SHA1 | Date | |
---|---|---|---|
d43f6822bc | |||
02ee84df2c | |||
36c5c1a080 | |||
b5c35211f6 | |||
48e198fa0c | |||
ad4430e480 | |||
443dcc6ec2 | |||
b2c933f5e5 | |||
c58096aa27 | |||
5470fd726a | |||
3f6e3a2bb4 | |||
9937002d06 | |||
a1d0e93106 | |||
f367a406bb | |||
8854670f4d | |||
aac31945a3 | |||
60b2bddf15 | |||
d8da5da7eb | |||
16fc40f8ae | |||
e90c087547 | |||
001b84a774 | |||
ed0bd483dd | |||
5516ad7641 | |||
d44ff4055f | |||
44ac09b9c1 |
@ -1,53 +0,0 @@
|
|||||||
version: "3.7"
|
|
||||||
|
|
||||||
services:
|
|
||||||
dnpm-beam-proxy:
|
|
||||||
image: docker.verbis.dkfz.de/cache/samply/beam-proxy:develop
|
|
||||||
container_name: bridgehead-dnpm-beam-proxy
|
|
||||||
environment:
|
|
||||||
BROKER_URL: ${DNPM_BROKER_URL}
|
|
||||||
PROXY_ID: ${DNPM_PROXY_ID}
|
|
||||||
APP_dnpm-connect_KEY: ${DNPM_BEAM_SECRET_SHORT}
|
|
||||||
PRIVKEY_FILE: /run/secrets/proxy.pem
|
|
||||||
ALL_PROXY: http://forward_proxy:3128
|
|
||||||
TLS_CA_CERTIFICATES_DIR: /conf/trusted-ca-certs
|
|
||||||
ROOTCERT_FILE: /conf/root.crt.pem
|
|
||||||
secrets:
|
|
||||||
- proxy.pem
|
|
||||||
depends_on:
|
|
||||||
- "forward_proxy"
|
|
||||||
volumes:
|
|
||||||
- /etc/bridgehead/trusted-ca-certs:/conf/trusted-ca-certs:ro
|
|
||||||
- /srv/docker/bridgehead/ccp/root.crt.pem:/conf/root.crt.pem:ro
|
|
||||||
|
|
||||||
dnpm-beam-connect:
|
|
||||||
depends_on: [ dnpm-beam-proxy ]
|
|
||||||
image: docker.verbis.dkfz.de/cache/samply/beam-connect:develop
|
|
||||||
container_name: bridgehead-dnpm-beam-connect
|
|
||||||
environment:
|
|
||||||
PROXY_URL: http://dnpm-beam-proxy:8081
|
|
||||||
PROXY_APIKEY: ${DNPM_BEAM_SECRET_SHORT}
|
|
||||||
APP_ID: dnpm-connect.${DNPM_PROXY_ID}
|
|
||||||
DISCOVERY_URL: "./conf/central_targets.json"
|
|
||||||
LOCAL_TARGETS_FILE: "./conf/connect_targets.json"
|
|
||||||
HTTP_PROXY: http://forward_proxy:3128
|
|
||||||
HTTPS_PROXY: http://forward_proxy:3128
|
|
||||||
NO_PROXY: dnpm-beam-proxy,dnpm-backend, host.docker.internal
|
|
||||||
RUST_LOG: ${RUST_LOG:-info}
|
|
||||||
NO_AUTH: "true"
|
|
||||||
extra_host:
|
|
||||||
- "host.docker.internal:host-gateway"
|
|
||||||
volumes:
|
|
||||||
- /etc/bridgehead/dnpm/local_targets.json:/conf/connect_targets.json:ro
|
|
||||||
- /etc/bridgehead/dnpm/central_targets.json:/conf/central_targets.json:ro
|
|
||||||
labels:
|
|
||||||
- "traefik.enable=true"
|
|
||||||
- "traefik.http.routers.dnpm-connect.rule=PathPrefix(`/dnpm-connect`)"
|
|
||||||
- "traefik.http.middlewares.dnpm-connect-strip.stripprefix.prefixes=/dnpm-connect"
|
|
||||||
- "traefik.http.routers.dnpm-connect.middlewares=dnpm-connect-strip"
|
|
||||||
- "traefik.http.services.dnpm-connect.loadbalancer.server.port=8062"
|
|
||||||
- "traefik.http.routers.dnpm-connect.tls=true"
|
|
||||||
|
|
||||||
secrets:
|
|
||||||
proxy.pem:
|
|
||||||
file: /etc/bridgehead/pki/${SITE_ID}.priv.pem
|
|
@ -1,33 +0,0 @@
|
|||||||
version: "3.7"
|
|
||||||
|
|
||||||
services:
|
|
||||||
dnpm-backend:
|
|
||||||
image: ghcr.io/kohlbacherlab/bwhc-backend:1.0-snapshot-broker-connector
|
|
||||||
container_name: bridgehead-dnpm-backend
|
|
||||||
environment:
|
|
||||||
- ZPM_SITE=${ZPM_SITE}
|
|
||||||
volumes:
|
|
||||||
- /etc/bridgehead/dnpm:/bwhc_config:ro
|
|
||||||
- ${DNPM_DATA_DIR}:/bwhc_data
|
|
||||||
labels:
|
|
||||||
- "traefik.enable=true"
|
|
||||||
- "traefik.http.routers.bwhc-backend.rule=PathPrefix(`/bwhc`)"
|
|
||||||
- "traefik.http.services.bwhc-backend.loadbalancer.server.port=9000"
|
|
||||||
- "traefik.http.routers.bwhc-backend.tls=true"
|
|
||||||
|
|
||||||
dnpm-frontend:
|
|
||||||
image: ghcr.io/kohlbacherlab/bwhc-frontend:2209
|
|
||||||
container_name: bridgehead-dnpm-frontend
|
|
||||||
links:
|
|
||||||
- dnpm-backend
|
|
||||||
environment:
|
|
||||||
- NUXT_HOST=0.0.0.0
|
|
||||||
- NUXT_PORT=8080
|
|
||||||
- BACKEND_PROTOCOL=https
|
|
||||||
- BACKEND_HOSTNAME=$HOST
|
|
||||||
- BACKEND_PORT=443
|
|
||||||
labels:
|
|
||||||
- "traefik.enable=true"
|
|
||||||
- "traefik.http.routers.bwhc-frontend.rule=PathPrefix(`/`)"
|
|
||||||
- "traefik.http.services.bwhc-frontend.loadbalancer.server.port=8080"
|
|
||||||
- "traefik.http.routers.bwhc-frontend.tls=true"
|
|
@ -1,27 +0,0 @@
|
|||||||
#!/bin/bash
|
|
||||||
|
|
||||||
if [ -n "${ENABLE_DNPM_NODE}" ]; then
|
|
||||||
log INFO "DNPM setup detected (BwHC Node) -- will start BwHC node."
|
|
||||||
OVERRIDE+=" -f ./$PROJECT/modules/dnpm-node-compose.yml"
|
|
||||||
|
|
||||||
# Set variables required for BwHC Node. ZPM_SITE is assumed to be set in /etc/bridgehead/<project>.conf
|
|
||||||
DNPM_APPLICATION_SECRET="$(echo \"This is a salt string to generate one consistent password for DNPM. It is not required to be secret.\" | sha1sum | openssl pkeyutl -sign -inkey /etc/bridgehead/pki/${SITE_ID}.priv.pem | base64 | head -c 30)"
|
|
||||||
if [ -z "${ZPM_SITE+x}" ]; then
|
|
||||||
log ERROR "Mandatory variable ZPM_SITE not defined!"
|
|
||||||
exit 1
|
|
||||||
fi
|
|
||||||
if [ -z "${DNPM_DATA_DIR+x}" ]; then
|
|
||||||
log ERROR "Mandatory variable DNPM_DATA_DIR not defined!"
|
|
||||||
exit 1
|
|
||||||
fi
|
|
||||||
if grep -q 'traefik.http.routers.landing.rule=PathPrefix(`/landing`)' /srv/docker/bridgehead/minimal/docker-compose.override.yml 2>/dev/null; then
|
|
||||||
echo "Override of landing page url already in place"
|
|
||||||
else
|
|
||||||
echo "Adding override of landing page url"
|
|
||||||
if [ -f /srv/docker/bridgehead/minimal/docker-compose.override.yml ]; then
|
|
||||||
echo -e ' landing:\n labels:\n - "traefik.http.routers.landing.rule=PathPrefix(`/landing`)"' >> /srv/docker/bridgehead/minimal/docker-compose.override.yml
|
|
||||||
else
|
|
||||||
echo -e 'version: "3.7"\nservices:\n landing:\n labels:\n - "traefik.http.routers.landing.rule=PathPrefix(`/landing`)"' >> /srv/docker/bridgehead/minimal/docker-compose.override.yml
|
|
||||||
fi
|
|
||||||
fi
|
|
||||||
fi
|
|
@ -1,12 +0,0 @@
|
|||||||
#!/bin/bash
|
|
||||||
|
|
||||||
if [ -n "${ENABLE_DNPM}" ]; then
|
|
||||||
log INFO "DNPM setup detected (Beam.Connect) -- will start Beam and Beam.Connect for DNPM."
|
|
||||||
OVERRIDE+=" -f ./$PROJECT/modules/dnpm-compose.yml"
|
|
||||||
|
|
||||||
# Set variables required for Beam-Connect
|
|
||||||
DNPM_BEAM_SECRET_SHORT="$(cat /proc/sys/kernel/random/uuid | sed 's/[-]//g' | head -c 20)"
|
|
||||||
DNPM_BROKER_ID="broker.ccp-it.dktk.dkfz.de"
|
|
||||||
DNPM_BROKER_URL="https://${DNPM_BROKER_ID}"
|
|
||||||
DNPM_PROXY_ID="${SITE_ID}.${DNPM_BROKER_ID}"
|
|
||||||
fi
|
|
@ -102,6 +102,11 @@ case "$ACTION" in
|
|||||||
bk_is_running
|
bk_is_running
|
||||||
exit $?
|
exit $?
|
||||||
;;
|
;;
|
||||||
|
logs)
|
||||||
|
loadVars
|
||||||
|
shift 2
|
||||||
|
exec $COMPOSE -p $PROJECT -f ./minimal/docker-compose.yml -f ./$PROJECT/docker-compose.yml $OVERRIDE logs -f $@
|
||||||
|
;;
|
||||||
update)
|
update)
|
||||||
loadVars
|
loadVars
|
||||||
exec ./lib/update-bridgehead.sh $PROJECT
|
exec ./lib/update-bridgehead.sh $PROJECT
|
||||||
|
@ -19,7 +19,7 @@ services:
|
|||||||
- "traefik.http.routers.blaze_ccp.tls=true"
|
- "traefik.http.routers.blaze_ccp.tls=true"
|
||||||
|
|
||||||
focus:
|
focus:
|
||||||
image: docker.verbis.dkfz.de/cache/samply/focus:main
|
image: docker.verbis.dkfz.de/cache/samply/focus:0.4.0
|
||||||
container_name: bridgehead-focus
|
container_name: bridgehead-focus
|
||||||
environment:
|
environment:
|
||||||
API_KEY: ${FOCUS_BEAM_SECRET_SHORT}
|
API_KEY: ${FOCUS_BEAM_SECRET_SHORT}
|
||||||
|
@ -16,12 +16,14 @@ services:
|
|||||||
LOCAL_TARGETS_FILE: "./conf/connect_targets.json"
|
LOCAL_TARGETS_FILE: "./conf/connect_targets.json"
|
||||||
HTTP_PROXY: "http://forward_proxy:3128"
|
HTTP_PROXY: "http://forward_proxy:3128"
|
||||||
HTTPS_PROXY: "http://forward_proxy:3128"
|
HTTPS_PROXY: "http://forward_proxy:3128"
|
||||||
NO_PROXY: beam-proxy,dnpm-backend,host.docker.internal
|
NO_PROXY: beam-proxy,dnpm-backend,host.docker.internal${DNPM_ADDITIONAL_NO_PROXY}
|
||||||
RUST_LOG: ${RUST_LOG:-info}
|
RUST_LOG: ${RUST_LOG:-info}
|
||||||
NO_AUTH: "true"
|
NO_AUTH: "true"
|
||||||
|
TLS_CA_CERTIFICATES_DIR: ./conf/trusted-ca-certs
|
||||||
extra_hosts:
|
extra_hosts:
|
||||||
- "host.docker.internal:host-gateway"
|
- "host.docker.internal:host-gateway"
|
||||||
volumes:
|
volumes:
|
||||||
|
- /etc/bridgehead/trusted-ca-certs:/conf/trusted-ca-certs:ro
|
||||||
- /etc/bridgehead/dnpm/local_targets.json:/conf/connect_targets.json:ro
|
- /etc/bridgehead/dnpm/local_targets.json:/conf/connect_targets.json:ro
|
||||||
- /etc/bridgehead/dnpm/central_targets.json:/conf/central_targets.json:ro
|
- /etc/bridgehead/dnpm/central_targets.json:/conf/central_targets.json:ro
|
||||||
labels:
|
labels:
|
||||||
@ -31,3 +33,7 @@ services:
|
|||||||
- "traefik.http.routers.dnpm-connect.middlewares=dnpm-connect-strip"
|
- "traefik.http.routers.dnpm-connect.middlewares=dnpm-connect-strip"
|
||||||
- "traefik.http.services.dnpm-connect.loadbalancer.server.port=8062"
|
- "traefik.http.services.dnpm-connect.loadbalancer.server.port=8062"
|
||||||
- "traefik.http.routers.dnpm-connect.tls=true"
|
- "traefik.http.routers.dnpm-connect.tls=true"
|
||||||
|
|
||||||
|
dnpm-echo:
|
||||||
|
image: docker.verbis.dkfz.de/cache/samply/bridgehead-echo:latest
|
||||||
|
container_name: bridgehead-dnpm-echo
|
||||||
|
@ -6,6 +6,7 @@ services:
|
|||||||
container_name: bridgehead-dnpm-backend
|
container_name: bridgehead-dnpm-backend
|
||||||
environment:
|
environment:
|
||||||
- ZPM_SITE=${ZPM_SITE}
|
- ZPM_SITE=${ZPM_SITE}
|
||||||
|
- N_RANDOM_FILES=${DNPM_SYNTH_NUM}
|
||||||
volumes:
|
volumes:
|
||||||
- /etc/bridgehead/dnpm:/bwhc_config:ro
|
- /etc/bridgehead/dnpm:/bwhc_config:ro
|
||||||
- ${DNPM_DATA_DIR}:/bwhc_data
|
- ${DNPM_DATA_DIR}:/bwhc_data
|
||||||
|
@ -14,14 +14,15 @@ if [ -n "${ENABLE_DNPM_NODE}" ]; then
|
|||||||
log ERROR "Mandatory variable DNPM_DATA_DIR not defined!"
|
log ERROR "Mandatory variable DNPM_DATA_DIR not defined!"
|
||||||
exit 1
|
exit 1
|
||||||
fi
|
fi
|
||||||
if grep -q 'traefik.http.routers.landing.rule=PathPrefix(`/landing`)' /srv/docker/bridgehead/minimal/docker-compose.override.yml 2>/dev/null; then
|
DNPM_SYNTH_NUM=${DNPM_SYNTH_NUM:-0}
|
||||||
echo "Override of landing page url already in place"
|
if grep -q 'traefik.http.routers.landing.rule=PathPrefix(`/landing`)' /srv/docker/bridgehead/minimal/docker-compose.override.yml 2>/dev/null; then
|
||||||
else
|
echo "Override of landing page url already in place"
|
||||||
echo "Adding override of landing page url"
|
else
|
||||||
if [ -f /srv/docker/bridgehead/minimal/docker-compose.override.yml ]; then
|
echo "Adding override of landing page url"
|
||||||
echo -e ' landing:\n labels:\n - "traefik.http.routers.landing.rule=PathPrefix(`/landing`)"' >> /srv/docker/bridgehead/minimal/docker-compose.override.yml
|
if [ -f /srv/docker/bridgehead/minimal/docker-compose.override.yml ]; then
|
||||||
else
|
echo -e ' landing:\n labels:\n - "traefik.http.routers.landing.rule=PathPrefix(`/landing`)"' >> /srv/docker/bridgehead/minimal/docker-compose.override.yml
|
||||||
echo -e 'version: "3.7"\nservices:\n landing:\n labels:\n - "traefik.http.routers.landing.rule=PathPrefix(`/landing`)"' >> /srv/docker/bridgehead/minimal/docker-compose.override.yml
|
else
|
||||||
fi
|
echo -e 'version: "3.7"\nservices:\n landing:\n labels:\n - "traefik.http.routers.landing.rule=PathPrefix(`/landing`)"' >> /srv/docker/bridgehead/minimal/docker-compose.override.yml
|
||||||
fi
|
fi
|
||||||
|
fi
|
||||||
fi
|
fi
|
||||||
|
@ -6,4 +6,10 @@ if [ -n "${ENABLE_DNPM}" ]; then
|
|||||||
|
|
||||||
# Set variables required for Beam-Connect
|
# Set variables required for Beam-Connect
|
||||||
DNPM_BEAM_SECRET_SHORT="$(cat /proc/sys/kernel/random/uuid | sed 's/[-]//g' | head -c 20)"
|
DNPM_BEAM_SECRET_SHORT="$(cat /proc/sys/kernel/random/uuid | sed 's/[-]//g' | head -c 20)"
|
||||||
|
# If the DNPM_NO_PROXY variable is set, prefix it with a comma (as it gets added to a comma separated list)
|
||||||
|
if [ -n "${DNPM_NO_PROXY}" ]; then
|
||||||
|
DNPM_ADDITIONAL_NO_PROXY=",${DNPM_NO_PROXY}"
|
||||||
|
else
|
||||||
|
DNPM_ADDITIONAL_NO_PROXY=""
|
||||||
|
fi
|
||||||
fi
|
fi
|
||||||
|
@ -43,7 +43,7 @@ services:
|
|||||||
- patientlist-db
|
- patientlist-db
|
||||||
|
|
||||||
patientlist-db:
|
patientlist-db:
|
||||||
image: docker.verbis.dkfz.de/cache/postgres:15.4-alpine
|
image: docker.verbis.dkfz.de/cache/postgres:15.6-alpine
|
||||||
container_name: bridgehead-patientlist-db
|
container_name: bridgehead-patientlist-db
|
||||||
environment:
|
environment:
|
||||||
POSTGRES_USER: "mainzelliste"
|
POSTGRES_USER: "mainzelliste"
|
||||||
|
@ -53,7 +53,7 @@ checkOwner(){
|
|||||||
}
|
}
|
||||||
|
|
||||||
printUsage() {
|
printUsage() {
|
||||||
echo "Usage: bridgehead start|stop|is-running|update|install|uninstall|adduser|enroll PROJECTNAME"
|
echo "Usage: bridgehead start|stop|logs|is-running|update|install|uninstall|adduser|enroll PROJECTNAME"
|
||||||
echo "PROJECTNAME should be one of ccp|bbmri"
|
echo "PROJECTNAME should be one of ccp|bbmri"
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@ -67,29 +67,30 @@ log INFO "Checking network access ($BROKER_URL_FOR_PREREQ) ..."
|
|||||||
source /etc/bridgehead/${PROJECT}.conf
|
source /etc/bridgehead/${PROJECT}.conf
|
||||||
source ${PROJECT}/vars
|
source ${PROJECT}/vars
|
||||||
|
|
||||||
set +e
|
if [ "${PROJECT}" != "minimal" ]; then
|
||||||
SERVERTIME="$(https_proxy=$HTTPS_PROXY_FULL_URL curl -m 5 -s -I $BROKER_URL_FOR_PREREQ 2>&1 | grep -i -e '^Date: ' | sed -e 's/^Date: //i')"
|
set +e
|
||||||
RET=$?
|
SERVERTIME="$(https_proxy=$HTTPS_PROXY_FULL_URL curl -m 5 -s -I $BROKER_URL_FOR_PREREQ 2>&1 | grep -i -e '^Date: ' | sed -e 's/^Date: //i')"
|
||||||
set -e
|
RET=$?
|
||||||
if [ $RET -ne 0 ]; then
|
set -e
|
||||||
log WARN "Unable to connect to Samply.Beam broker at $BROKER_URL_FOR_PREREQ. Please check your proxy settings.\nThe currently configured proxy was \"$HTTPS_PROXY_URL\". This error is normal when using proxy authentication."
|
if [ $RET -ne 0 ]; then
|
||||||
log WARN "Unable to check clock skew due to previous error."
|
log WARN "Unable to connect to Samply.Beam broker at $BROKER_URL_FOR_PREREQ. Please check your proxy settings.\nThe currently configured proxy was \"$HTTPS_PROXY_URL\". This error is normal when using proxy authentication."
|
||||||
else
|
log WARN "Unable to check clock skew due to previous error."
|
||||||
log INFO "Checking clock skew ..."
|
else
|
||||||
|
log INFO "Checking clock skew ..."
|
||||||
|
|
||||||
SERVERTIME_AS_TIMESTAMP=$(date --date="$SERVERTIME" +%s)
|
SERVERTIME_AS_TIMESTAMP=$(date --date="$SERVERTIME" +%s)
|
||||||
MYTIME=$(date +%s)
|
MYTIME=$(date +%s)
|
||||||
SKEW=$(($SERVERTIME_AS_TIMESTAMP - $MYTIME))
|
SKEW=$(($SERVERTIME_AS_TIMESTAMP - $MYTIME))
|
||||||
SKEW=$(echo $SKEW | awk -F- '{print $NF}')
|
SKEW=$(echo $SKEW | awk -F- '{print $NF}')
|
||||||
SYNCTEXT="For example, consider entering a correct NTP server (e.g. your institution's Active Directory Domain Controller in /etc/systemd/timesyncd.conf (option NTP=) and restart systemd-timesyncd."
|
SYNCTEXT="For example, consider entering a correct NTP server (e.g. your institution's Active Directory Domain Controller in /etc/systemd/timesyncd.conf (option NTP=) and restart systemd-timesyncd."
|
||||||
if [ $SKEW -ge 300 ]; then
|
if [ $SKEW -ge 300 ]; then
|
||||||
report_error 5 "Your clock is not synchronized (${SKEW}s off). This will cause Samply.Beam's certificate will fail. Please setup time synchronization. $SYNCTEXT"
|
report_error 5 "Your clock is not synchronized (${SKEW}s off). This will cause Samply.Beam's certificate will fail. Please setup time synchronization. $SYNCTEXT"
|
||||||
exit 1
|
exit 1
|
||||||
elif [ $SKEW -ge 60 ]; then
|
elif [ $SKEW -ge 60 ]; then
|
||||||
log WARN "Your clock is more than a minute off (${SKEW}s). Consider syncing to a time server. $SYNCTEXT"
|
log WARN "Your clock is more than a minute off (${SKEW}s). Consider syncing to a time server. $SYNCTEXT"
|
||||||
fi
|
fi
|
||||||
|
fi
|
||||||
fi
|
fi
|
||||||
|
|
||||||
checkPrivKey() {
|
checkPrivKey() {
|
||||||
if [ -e /etc/bridgehead/pki/${SITE_ID}.priv.pem ]; then
|
if [ -e /etc/bridgehead/pki/${SITE_ID}.priv.pem ]; then
|
||||||
log INFO "Success - private key found."
|
log INFO "Success - private key found."
|
||||||
@ -100,7 +101,7 @@ checkPrivKey() {
|
|||||||
return 0
|
return 0
|
||||||
}
|
}
|
||||||
|
|
||||||
if [[ "$@" =~ "noprivkey" ]]; then
|
if [[ "$@" =~ "noprivkey" || "${PROJECT}" != "minimal" ]]; then
|
||||||
log INFO "Skipping check for private key for now."
|
log INFO "Skipping check for private key for now."
|
||||||
else
|
else
|
||||||
checkPrivKey || exit 1
|
checkPrivKey || exit 1
|
||||||
|
@ -86,7 +86,7 @@ done
|
|||||||
# Check docker updates
|
# Check docker updates
|
||||||
log "INFO" "Checking for updates to running docker images ..."
|
log "INFO" "Checking for updates to running docker images ..."
|
||||||
docker_updated="false"
|
docker_updated="false"
|
||||||
for IMAGE in $(cat $PROJECT/docker-compose.yml ${OVERRIDE//-f/} minimal/docker-compose.yml | grep -v "^#" | grep "image:" | sed -e 's_^.*image: \(.*\).*$_\1_g; s_\"__g'); do
|
for IMAGE in $($COMPOSE -p $PROJECT -f ./minimal/docker-compose.yml -f ./$PROJECT/docker-compose.yml $OVERRIDE config | grep "image:" | sed -e 's_^.*image: \(.*\).*$_\1_g; s_\"__g'); do
|
||||||
log "INFO" "Checking for Updates of Image: $IMAGE"
|
log "INFO" "Checking for Updates of Image: $IMAGE"
|
||||||
if docker pull $IMAGE | grep "Downloaded newer image"; then
|
if docker pull $IMAGE | grep "Downloaded newer image"; then
|
||||||
CHANGE="Image $IMAGE updated."
|
CHANGE="Image $IMAGE updated."
|
||||||
|
@ -55,5 +55,6 @@ services:
|
|||||||
HOST: ${HOST}
|
HOST: ${HOST}
|
||||||
PROJECT: ${PROJECT}
|
PROJECT: ${PROJECT}
|
||||||
SITE_NAME: ${SITE_NAME}
|
SITE_NAME: ${SITE_NAME}
|
||||||
|
ENVIRONMENT: "production"
|
||||||
|
|
||||||
|
|
||||||
|
@ -18,7 +18,7 @@ services:
|
|||||||
- "forward_proxy"
|
- "forward_proxy"
|
||||||
volumes:
|
volumes:
|
||||||
- /etc/bridgehead/trusted-ca-certs:/conf/trusted-ca-certs:ro
|
- /etc/bridgehead/trusted-ca-certs:/conf/trusted-ca-certs:ro
|
||||||
- /srv/docker/bridgehead/ccp/root.crt.pem:/conf/root.crt.pem:ro
|
- /etc/bridgehead/dnpm/aachen.crt.pem:/conf/root.crt.pem:ro
|
||||||
|
|
||||||
dnpm-beam-connect:
|
dnpm-beam-connect:
|
||||||
depends_on: [ dnpm-beam-proxy ]
|
depends_on: [ dnpm-beam-proxy ]
|
||||||
@ -32,12 +32,14 @@ services:
|
|||||||
LOCAL_TARGETS_FILE: "./conf/connect_targets.json"
|
LOCAL_TARGETS_FILE: "./conf/connect_targets.json"
|
||||||
HTTP_PROXY: http://forward_proxy:3128
|
HTTP_PROXY: http://forward_proxy:3128
|
||||||
HTTPS_PROXY: http://forward_proxy:3128
|
HTTPS_PROXY: http://forward_proxy:3128
|
||||||
NO_PROXY: dnpm-beam-proxy,dnpm-backend, host.docker.internal
|
NO_PROXY: dnpm-beam-proxy,dnpm-backend, host.docker.internal${DNPM_ADDITIONAL_NO_PROXY}
|
||||||
RUST_LOG: ${RUST_LOG:-info}
|
RUST_LOG: ${RUST_LOG:-info}
|
||||||
NO_AUTH: "true"
|
NO_AUTH: "true"
|
||||||
|
TLS_CA_CERTIFICATES_DIR: ./conf/trusted-ca-certs
|
||||||
extra_hosts:
|
extra_hosts:
|
||||||
- "host.docker.internal:host-gateway"
|
- "host.docker.internal:host-gateway"
|
||||||
volumes:
|
volumes:
|
||||||
|
- /etc/bridgehead/trusted-ca-certs:/conf/trusted-ca-certs:ro
|
||||||
- /etc/bridgehead/dnpm/local_targets.json:/conf/connect_targets.json:ro
|
- /etc/bridgehead/dnpm/local_targets.json:/conf/connect_targets.json:ro
|
||||||
- /etc/bridgehead/dnpm/central_targets.json:/conf/central_targets.json:ro
|
- /etc/bridgehead/dnpm/central_targets.json:/conf/central_targets.json:ro
|
||||||
labels:
|
labels:
|
||||||
@ -48,6 +50,10 @@ services:
|
|||||||
- "traefik.http.services.dnpm-connect.loadbalancer.server.port=8062"
|
- "traefik.http.services.dnpm-connect.loadbalancer.server.port=8062"
|
||||||
- "traefik.http.routers.dnpm-connect.tls=true"
|
- "traefik.http.routers.dnpm-connect.tls=true"
|
||||||
|
|
||||||
|
dnpm-echo:
|
||||||
|
image: docker.verbis.dkfz.de/cache/samply/bridgehead-echo:latest
|
||||||
|
container_name: bridgehead-dnpm-echo
|
||||||
|
|
||||||
secrets:
|
secrets:
|
||||||
proxy.pem:
|
proxy.pem:
|
||||||
file: /etc/bridgehead/pki/${SITE_ID}.priv.pem
|
file: /etc/bridgehead/pki/${SITE_ID}.priv.pem
|
||||||
|
@ -6,6 +6,7 @@ services:
|
|||||||
container_name: bridgehead-dnpm-backend
|
container_name: bridgehead-dnpm-backend
|
||||||
environment:
|
environment:
|
||||||
- ZPM_SITE=${ZPM_SITE}
|
- ZPM_SITE=${ZPM_SITE}
|
||||||
|
- N_RANDOM_FILES=${DNPM_SYNTH_NUM}
|
||||||
volumes:
|
volumes:
|
||||||
- /etc/bridgehead/dnpm:/bwhc_config:ro
|
- /etc/bridgehead/dnpm:/bwhc_config:ro
|
||||||
- ${DNPM_DATA_DIR}:/bwhc_data
|
- ${DNPM_DATA_DIR}:/bwhc_data
|
||||||
|
@ -14,14 +14,15 @@ if [ -n "${ENABLE_DNPM_NODE}" ]; then
|
|||||||
log ERROR "Mandatory variable DNPM_DATA_DIR not defined!"
|
log ERROR "Mandatory variable DNPM_DATA_DIR not defined!"
|
||||||
exit 1
|
exit 1
|
||||||
fi
|
fi
|
||||||
if grep -q 'traefik.http.routers.landing.rule=PathPrefix(`/landing`)' /srv/docker/bridgehead/minimal/docker-compose.override.yml 2>/dev/null; then
|
DNPM_SYNTH_NUM=${DNPM_SYNTH_NUM:-0}
|
||||||
echo "Override of landing page url already in place"
|
if grep -q 'traefik.http.routers.landing.rule=PathPrefix(`/landing`)' /srv/docker/bridgehead/minimal/docker-compose.override.yml 2>/dev/null; then
|
||||||
else
|
echo "Override of landing page url already in place"
|
||||||
echo "Adding override of landing page url"
|
else
|
||||||
if [ -f /srv/docker/bridgehead/minimal/docker-compose.override.yml ]; then
|
echo "Adding override of landing page url"
|
||||||
echo -e ' landing:\n labels:\n - "traefik.http.routers.landing.rule=PathPrefix(`/landing`)"' >> /srv/docker/bridgehead/minimal/docker-compose.override.yml
|
if [ -f /srv/docker/bridgehead/minimal/docker-compose.override.yml ]; then
|
||||||
else
|
echo -e ' landing:\n labels:\n - "traefik.http.routers.landing.rule=PathPrefix(`/landing`)"' >> /srv/docker/bridgehead/minimal/docker-compose.override.yml
|
||||||
echo -e 'version: "3.7"\nservices:\n landing:\n labels:\n - "traefik.http.routers.landing.rule=PathPrefix(`/landing`)"' >> /srv/docker/bridgehead/minimal/docker-compose.override.yml
|
else
|
||||||
fi
|
echo -e 'version: "3.7"\nservices:\n landing:\n labels:\n - "traefik.http.routers.landing.rule=PathPrefix(`/landing`)"' >> /srv/docker/bridgehead/minimal/docker-compose.override.yml
|
||||||
fi
|
fi
|
||||||
|
fi
|
||||||
fi
|
fi
|
||||||
|
@ -6,11 +6,17 @@ if [ -n "${ENABLE_DNPM}" ]; then
|
|||||||
|
|
||||||
# Set variables required for Beam-Connect
|
# Set variables required for Beam-Connect
|
||||||
DNPM_BEAM_SECRET_SHORT="$(cat /proc/sys/kernel/random/uuid | sed 's/[-]//g' | head -c 20)"
|
DNPM_BEAM_SECRET_SHORT="$(cat /proc/sys/kernel/random/uuid | sed 's/[-]//g' | head -c 20)"
|
||||||
DNPM_BROKER_ID="broker.ccp-it.dktk.dkfz.de"
|
DNPM_BROKER_ID="dnpm-aachen-broker.samply.de"
|
||||||
DNPM_BROKER_URL="https://${DNPM_BROKER_ID}"
|
DNPM_BROKER_URL="https://${DNPM_BROKER_ID}"
|
||||||
if [ -z ${BROKER_URL_FOR_PREREQ+x} ]; then
|
if [ -z ${BROKER_URL_FOR_PREREQ+x} ]; then
|
||||||
BROKER_URL_FOR_PREREQ=$DNPM_BROKER_URL
|
BROKER_URL_FOR_PREREQ=$DNPM_BROKER_URL
|
||||||
log DEBUG "No Broker for clock check set; using $DNPM_BROKER_URL"
|
log DEBUG "No Broker for clock check set; using $DNPM_BROKER_URL"
|
||||||
fi
|
fi
|
||||||
DNPM_PROXY_ID="${SITE_ID}.${DNPM_BROKER_ID}"
|
DNPM_PROXY_ID="${SITE_ID}.${DNPM_BROKER_ID}"
|
||||||
|
# If the DNPM_NO_PROXY variable is set, prefix it with a comma (as it gets added to a comma separated list)
|
||||||
|
if [ -n "${DNPM_NO_PROXY}" ]; then
|
||||||
|
DNPM_ADDITIONAL_NO_PROXY=",${DNPM_NO_PROXY}"
|
||||||
|
else
|
||||||
|
DNPM_ADDITIONAL_NO_PROXY=""
|
||||||
|
fi
|
||||||
fi
|
fi
|
||||||
|
Reference in New Issue
Block a user