diff --git a/bbmri/modules/dnpm-node-compose.yml b/bbmri/modules/dnpm-node-compose.yml new file mode 100644 index 0000000..8a39223 --- /dev/null +++ b/bbmri/modules/dnpm-node-compose.yml @@ -0,0 +1,33 @@ +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" diff --git a/bbmri/modules/dnpm-node-setup.sh b/bbmri/modules/dnpm-node-setup.sh new file mode 100644 index 0000000..ec75a7e --- /dev/null +++ b/bbmri/modules/dnpm-node-setup.sh @@ -0,0 +1,27 @@ +#!/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/.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(`/dashboard`)' /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(`/dashboard`)"' >> /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(`/dashboard`)"' >> /srv/docker/bridgehead/minimal/docker-compose.override.yml + fi + fi +fi