bridgehead/ccp/modules/opal-compose.yml

80 lines
2.4 KiB
YAML

version: "3.7"
services:
############################################ DataSHIELD Client (Rocker R-Studio)
rstudio:
image: docker.verbis.dkfz.de/dktk/bridgehead-rstudio:latest
container_name: bridgehead-rstudio
#TODO: Connect with Keycloak: https://rocker-project.org/images/versioned/rstudio.html
environment:
USER: "ruser"
PASSWORD: "${RSTUDIO_PASSWORD}"
labels:
- "traefik.enable=true"
- "traefik.http.routers.login.rule=PathPrefix(`/rstudio`)"
- "traefik.http.services.login.loadbalancer.server.port=8787"
- "traefik.http.routers.login.tls=true"
volumes:
- "rstudio-config:/home/rstudio/.config/rstudio"
- "rstudio-workspace:/home/rstudio/workspace"
- "rstudio-user-files:/home/user-files"
############################################ DataSHIELD Server (Opal)
opal:
image: obiba/opal:4.5
container_name: bridgehead-opal
labels:
- "traefik.enable=true"
- "traefik.http.routers.login.rule=PathPrefix(`/opal`)"
- "traefik.http.services.login.loadbalancer.server.port=8080" #TODO: HTTPS -> 8443
- "traefik.http.routers.login.tls=true"
links:
- opal-rserver
- opal-mongo
- opal-db
environment:
JAVA_OPTS: "-Xms1G -Xmx8G -XX:+UseG1GC"
# OPAL_ADMINISTRATOR_USER: "administrator"
OPAL_ADMINISTRATOR_PASSWORD: "${OPAL_ADMINISTRATOR_PASSWORD}"
MONGO_HOST: "opal-mongo"
MONGO_PORT: "27017"
POSTGRESDATA_HOST: "opal-db"
POSTGRESDATA_DATABASE: "opal"
POSTGRESDATA_USER: "opal"
POSTGRESDATA_PASSWORD: "${OPAL_DB_PASSWORD}"
ROCK_HOSTS: "opal-rserver:8085"
volumes:
- "opal:/srv"
opal-mongo: # IDs
image: mongo:4.2 # TODO: Update mongo:6.0.4
container_name: bridgehead-opal-mongo
opal-db: # Data
image: postgres:15.1
container_name: bridgehead-opal-db
environment:
POSTGRES_PASSWORD: "${OPAL_DB_PASSWORD}"
POSTGRES_USER: "opal"
POSTGRES_DB: "opal"
volumes:
- "opal-db:/var/lib/postgresql/data"
opal-rserver:
image: datashield/rock-base:6.2-R4.2 # https://datashield.discourse.group/t/ds-aggregate-method-error/416/4
container_name: bridgehead-opal-rserver
volumes:
rstudio-config:
name: "rstudio-config"
rstudio-workspace:
name: "rstudio-workspace"
rstudio-user-files:
name: "rstudio-user-files"
opal-db:
name: "opal-db"
opal:
name: "opal"