diff --git a/ccp/modules/cbioportal-compose.yml b/ccp/modules/cbioportal-compose.yml new file mode 100644 index 0000000..0b671bc --- /dev/null +++ b/ccp/modules/cbioportal-compose.yml @@ -0,0 +1,52 @@ +version: '3.7' + +services: + cbioportal: + image: docker.verbis.dkfz.de/ccp/dktk-cbioportal:latest + container_name: bridgehead-cbioportal + environment: + DB_PASSWORD: ${CBIOPORTAL_DB_PASSWORD} + HTTP_RELATIVE_PATH: "/cbioportal" + UPLOAD_HTTP_RELATIVE_PATH: "/cbioportal-upload" + depends_on: + - cbioportal-database + - cbioportal-session + labels: + - "traefik.enable=true" + - "traefik.http.routers.cbioportal.rule=PathPrefix(`/cbioportal`)" + - "traefik.http.routers.cbioportal.service=cbioportal" + - "traefik.http.services.cbioportal.loadbalancer.server.port=8080" + - "traefik.http.routers.cbioportal.tls=true" + - "traefik.http.routers.cbioportal-upload.rule=PathPrefix(`/cbioportal-upload`)" + - "traefik.http.routers.cbioportal-upload.service=cbioportal-upload" + - "traefik.http.routers.cbioportal-upload.tls=true" + - "traefik.http.services.cbioportal-upload.loadbalancer.server.port=8001" + + + cbioportal-database: + image: docker.verbis.dkfz.de/ccp/dktk-cbioportal-database:latest + container_name: bridgehead-cbioportal-database + environment: + MYSQL_DATABASE: cbioportal + MYSQL_USER: cbio_user + MYSQL_PASSWORD: ${CBIOPORTAL_DB_PASSWORD} + MYSQL_ROOT_PASSWORD: ${CBIOPORTAL_DB_ROOT_PASSWORD} + volumes: + - /var/cache/bridgehead/ccp/cbioportal_db_data:/var/lib/mysql + + cbioportal-session: + image: cbioportal/session-service:0.6.1 + container_name: bridgehead-cbioportal-session + environment: + SERVER_PORT: 5000 + JAVA_OPTS: -Dspring.data.mongodb.uri=mongodb://cbioportal-session-database:27017/session-service + depends_on: + - cbioportal-session-database + + cbioportal-session-database: + image: mongo:4.2 + container_name: bridgehead-cbioportal-session-database + environment: + MONGO_INITDB_DATABASE: session_service + volumes: + - /var/cache/bridgehead/ccp/cbioportal_session_db_data:/data/db diff --git a/ccp/modules/cbioportal-setup.sh b/ccp/modules/cbioportal-setup.sh new file mode 100644 index 0000000..1458c53 --- /dev/null +++ b/ccp/modules/cbioportal-setup.sh @@ -0,0 +1,8 @@ +#!/bin/bash -e + + if [ "$ENABLE_CBIOPORTAL" == true ]; then + log INFO "cBioPortal setup detected -- will start cBioPortal service." + OVERRIDE+=" -f ./$PROJECT/modules/cbioportal-compose.yml" + CBIOPORTAL_DB_PASSWORD="$(echo \"This is a salt string to generate one consistent password for the cbioportal database. It is not required to be secret.\" | openssl rsautl -sign -inkey /etc/bridgehead/pki/${SITE_ID}.priv.pem | base64 | head -c 30)" + CBIOPORTAL_DB_ROOT_PASSWORD="$(echo \"This is a salt string to generate one consistent root password for the cbioportal database. It is not required to be secret.\" | openssl rsautl -sign -inkey /etc/bridgehead/pki/${SITE_ID}.priv.pem | base64 | head -c 64)" + fi diff --git a/ccp/modules/cbioportal.md b/ccp/modules/cbioportal.md new file mode 100644 index 0000000..2b14700 --- /dev/null +++ b/ccp/modules/cbioportal.md @@ -0,0 +1,10 @@ +# CBioPortal Data uploader + + +## Usage + +We have integrated an API that allows you to upload data directly to cbioportal without the need to have cbioportal installed in your system. + +## Tech stack + +We used Flask to add this feature \ No newline at end of file