bridgehead/ccp/modules/datashield-compose.yml

111 lines
3.6 KiB
YAML

version: "3.7"
services:
############################################ DataSHIELD Client (Rocker R-Studio)
rstudio:
container_name: bridgehead-rstudio
image: docker.verbis.dkfz.de/ccp/dktk-rstudio:latest
#TODO: Connect with Keycloak: https://rocker-project.org/images/versioned/rstudio.html
environment:
USER: "ruser"
PASSWORD: "${RSTUDIO_PASSWORD}"
HTTP_RELATIVE_PATH: "/rstudio"
labels:
- "traefik.enable=true"
- "traefik.http.routers.rstudio_ccp.rule=PathPrefix(`/rstudio`)"
- "traefik.http.services.rstudio_ccp.loadbalancer.server.port=8787"
- "traefik.http.routers.rstudio_ccp.tls=true"
- "traefik.http.middlewares.rstudio_ccp_strip.stripprefix.prefixes=/rstudio"
- "traefik.http.routers.rstudio_ccp.middlewares=rstudio_ccp_strip"
#volumes:
#- "bridgehead-rstudio-config:/home/rstudio/.config/rstudio"
#- "bridgehead-rstudio-workspace:/home/rstudio/workspace"
############################################ DataSHIELD Server (Opal)
opal:
container_name: bridgehead-opal
image: docker.verbis.dkfz.de/ccp/dktk-opal:latest
labels:
- "traefik.enable=true"
- "traefik.http.routers.opal_ccp.rule=PathPrefix(`/opal`)"
- "traefik.http.services.opal_ccp.loadbalancer.server.port=8080"
- "traefik.http.routers.opal_ccp.tls=true"
links:
- opal-rserver
- opal-db
environment:
JAVA_OPTS: "-Xms1G -Xmx8G -XX:+UseG1GC"
# OPAL_ADMINISTRATOR_USER: "administrator" # Please, don't remove this line. It is informative.
OPAL_ADMINISTRATOR_PASSWORD: "${OPAL_ADMINISTRATOR_PASSWORD}"
POSTGRESDATA_HOST: "opal-db"
POSTGRESDATA_DATABASE: "opal"
POSTGRESDATA_USER: "opal"
POSTGRESDATA_PASSWORD: "${OPAL_DB_PASSWORD}"
ROCK_HOSTS: "opal-rserver:8085"
APP_URL: "https://${HOST}/opal"
APP_CONTEXT_PATH: "/opal"
OPAL_PRIVATE_KEY: "/run/secrets/opal-key.pem"
OPAL_CERTIFICATE: "/run/secrets/opal-cert.pem"
secrets:
- opal-cert.pem
- opal-key.pem
# volumes:
# - "bridgehead-opal:/srv"
opal-db: # Data
container_name: bridgehead-opal-db
image: postgres:15.1-alpine
environment:
POSTGRES_PASSWORD: "${OPAL_DB_PASSWORD}"
POSTGRES_USER: "opal"
POSTGRES_DB: "opal"
# volumes:
# - "bridgehead-opal-db:/var/lib/postgresql/data"
opal-rserver:
container_name: bridgehead-opal-rserver
image: datashield/rock-base:6.2-R4.2 # https://datashield.discourse.group/t/ds-aggregate-method-error/416/4
beam-connect:
image: docker.verbis.dkfz.de/cache/samply/beam-connect:fix-connect
container_name: bridgehead-datashield-connect
ports:
- 8062:8062
environment:
PROXY_URL: "http://beam-proxy:8081"
TLS_CA_CERTIFICATES_DIR: /run/secrets
APP_ID: datashield-connect.${SITE_ID}.${BROKER_ID}
PROXY_APIKEY: ${DATASHIELD_CONNECT_SECRET}
DISCOVERY_URL: "./map/central.json"
LOCAL_TARGETS_FILE: "./map/local.json"
secrets:
- opal-cert.pem
depends_on:
- beam-proxy
volumes:
- /etc/bridgehead/datashield-connect/:/map:ro
beam-proxy:
environment:
APP_2_ID: datashield-connect
APP_2_KEY: ${DATASHIELD_CONNECT_SECRET}
#volumes:
# bridgehead-rstudio-config:
# name: "bridgehead-rstudio-config"
# bridgehead-rstudio-workspace:
# name: "bridgehead-rstudio-workspace"
# bridgehead-opal-db:
# name: "bridgehead-opal-db"
# bridgehead-opal:
# name: "bridgehead-opal"
secrets:
opal-cert.pem:
file: /etc/bridgehead/trusted-ca-certs/opal-cert.pem:ro
opal-key.pem:
file: /etc/bridgehead/trusted-ca-certs/opal-key.pem:ro