From 9e6221046111d85da82c7f34d612eba64f08b70e Mon Sep 17 00:00:00 2001 From: Niklas Reimer Date: Tue, 8 Oct 2024 13:31:41 +0200 Subject: [PATCH] re-arrange compose files --- compose.yml | 241 +---------------------- compose-research.yml => compose/base.yml | 48 +---- compose/care.yml | 110 +++++++++++ compose-dev.yml => compose/dev.yml | 167 +++------------- compose/research.yml | 47 +++++ 5 files changed, 187 insertions(+), 426 deletions(-) rename compose-research.yml => compose/base.yml (64%) create mode 100644 compose/care.yml rename compose-dev.yml => compose/dev.yml (57%) create mode 100644 compose/research.yml diff --git a/compose.yml b/compose.yml index 08ae05b..7c37463 100644 --- a/compose.yml +++ b/compose.yml @@ -1,238 +1,3 @@ -version: '3' - -services: - cbioportal: - restart: unless-stopped - image: ghcr.io/buschlab/cbioportal:${RELEASE:-latest} - container_name: cbioportal_container - environment: - HTTP_PROXY: "http://${HTTPS_PROXY_HOST}:${HTTPS_PROXY_PORT}" - NO_PROXY: "cbioportal" - volumes: - - ./study:/study/:z - - ./config/application.properties:/cbioportal/application.properties:Z - - ./config/security.properties:/cbioportal/security.properties:Z - - ./config/frontend.json:/cbioportal/frontend.json:Z - - ./config/${LOGO:-pm4onco.png}:/cbioportal-webapp/webapp/images/${LOGO:-pm4onco.png}:Z - - ./config/cacerts:/etc/ssl/certs/java/cacerts:Z - - cbioportal_portalinfo:/cbioportal/portalinfo:z - depends_on: - - cbioportal_database - - cbioportal-session - networks: - - cbioportal_net - command: [ - "/usr/bin/java", - "-Xms2g", - "-Xmx4g", - "-Doncokb.public_api.url=${ONCOKB_URL:-https://public.api.oncokb.org/api/v1}", - "-Doncokb.token=${ONCOKB_TOKEN}", - "-Dgenomenexus.url=/genome-nexus", - "-Dsession.service.url=http://cbioportal-session:5000/api/sessions/my-portal/", - "-Dshow.civic=${ENABLE_CIVIC:-true}", - "-Dmycancergenome.show=${ENABLE_MYCANCERGENOME:-false}", - "-Dquick_search.enabled=${ENABLE_QUICKSEARCH:-true}", - "-Dfilter_groups_by_appname=false", - "-Dhttps.proxyHost=${HTTPS_PROXY_HOST}", - "-Dhttps.proxyPort=${HTTPS_PROXY_PORT}", - "-Dhttp.nonProxyHosts=cbioportal-session|${NOPROXY_HOSTS:-}", - "-Dfrontend.config=/cbioportal/frontend.json", - "-Dskin.right_logo=${LOGO:-pm4onco.png}", - "-Dspring.config.location=cbioportal/application.properties", - "-Dauthenticate=${AUTHENTICATE:-false}", - "-Dspring.autoconfigure.exclude=${EXCLUDE_AUTOCONFIG:-org.springframework.boot.autoconfigure.security.SecurityAutoConfiguration}", - "-Dalways_show_study_group=${ALWAYS_SHOW_STUDY_GROUP:-none}", - "-Dspring.security.oauth2.client.provider.keycloak.user-name-attribute=email", - "-Dspring.security.oauth2.client.registration.keycloak.scope=openid,email,roles", - "-Dspring.security.oauth2.client.provider.keycloak.issuer-uri=${KEYCLOAK_REALM:-}", - "-Dspring.security.oauth2.client.registration.keycloak.client-id=${KEYCLOAK_CLIENT_CBIOPORTAL:-}", - "-Dspring.security.oauth2.client.registration.keycloak.client-secret=${KEYCLOAK_SECRET_CBIOPORTAL:-}", - "-Ddat.method=${DATA_ACCESS_TOKEN:-none}", - "-Ddat.oauth2.clientId=${KEYCLOAK_CLIENT_CBIOPORTAL:-}", - "-Ddat.oauth2.clientSecret=${KEYCLOAK_SECRET_CBIOPORTAL:-}", - "-Ddat.oauth2.issuer=${KEYCLOAK_REALM:-}", - "-Ddat.oauth2.accessTokenUri=${KEYCLOAK_REALM:-}/protocol/openid-connect/token", - "-Ddat.oauth2.userAuthorizationUri=${KEYCLOAK_REALM:-}/protocol/openid-connect/auth", - "-Ddat.oauth2.jwkUrl=${KEYCLOAK_REALM:-}/protocol/openid-connect/certs", - "-Ddat.oauth2.redirectUri=${CBIOPORTAL_URL}/api/data-access-token/oauth2", - "-Dsecurity.cors.allowed-origins=*", - "-Dserver.tomcat.remoteip.port-header=X-Forwarded-Port", - "-Dserver.tomcat.remoteip.protocol-header=X-Forwarded-Proto", - "-cp", - "/cbioportal-webapp:/cbioportal-webapp/lib/*", - "org.cbioportal.PortalApplication" - ] - cbioportal_database: - restart: unless-stopped - image: docker.io/mariadb:11.5.2 - container_name: cbioportal_database_container - environment: - MYSQL_ROOT_PASSWORD: ${MYSQL_ROOT_PASSWORD:-P@ssword1} - MYSQL_DATABASE: cbioportal - MYSQL_USER: cbio - MYSQL_PASSWORD: ${MYSQL_USER_PASSWORD:-P@ssword1} - security_opt: - - seccomp:unconfined - volumes: - - ./data/cgds.sql:/docker-entrypoint-initdb.d/cgds.sql:Z - - ./data/seed-cbioportal_hg19_hg38_v2.13.1.sql.gz:/docker-entrypoint-initdb.d/seed.sql.gz:Z - - ./data/tableExtension.sql:/docker-entrypoint-initdb.d/tableExtension.sql:Z - - cbioportal_data:/var/lib/mysql - command: - - --character-set-server=latin1 - - --collation-server=latin1_swedish_ci - - --innodb_buffer_pool_size=${INNODB_BUFFER_POOL_SIZE:-100M} - networks: - - cbioportal_net - cbioportal-session: - restart: unless-stopped - image: docker.io/cbioportal/session-service:0.6.1 - container_name: cbioportal_session_container - environment: - SERVER_PORT: 5000 - JAVA_OPTS: -Dspring.data.mongodb.uri=mongodb://cbioportal-session-database:27017/session-service - depends_on: - - cbioportal-session-database - networks: - - cbioportal_net - cbioportal-session-database: - restart: unless-stopped - image: docker.io/mongo:4.2 - container_name: cbioportal_session_database_container - environment: - MONGO_INITDB_DATABASE: session_service - volumes: - - cbioportal_session_data:/data/db - networks: - - cbioportal_net - fhirspark: - restart: unless-stopped - image: ghcr.io/buschlab/fhirspark:${RELEASE:-latest} - container_name: cbioportal_fhirspark - depends_on: - - hapiserver - environment: - FHIRSPARK_FHIRBASE: http://hapiserver:8080/fhir - FHIRSPARK_PORTALURL: http://cbioportal:8080/ - FHIRSPARK_LOGINREQUIRED: ${LOGINREQUIRED:-false} - volumes: - - ./data/drugs.json:/drugs.json:Z - - ./data/hgnc.csv:/hgnc.csv:Z - networks: - - cbioportal_net - hapiserver: - restart: unless-stopped - image: docker.io/hapiproject/hapi:v7.4.0-tomcat - container_name: cbioportal_fhirspark_hapiserver - depends_on: - - hapi-postgres - environment: - CATALINA_OPTS: - -Dhapi.fhir.server_address=${CBIOPORTAL_URL}/fhir - -Dhapi.fhir.local_base_url=http://hapiserver:8080/fhir - -Dhapi.fhir.reuse_cached_search_results_millis=5000 - -Dhapi.fhir.validation.requests_enabled=false - -Dspring.datasource.url=jdbc:postgresql://hapi-postgres:5432/hapi?currentSchema=public - -Dspring.datasource.username=hapiserver - -Dspring.datasource.password=${POSTGRES_USER_PASSWORD:-P@ssword2} - -Dspring.datasource.driverClassName=org.postgresql.Driver - -Dspring.jpa.properties.hibernate.dialect=ca.uhn.fhir.jpa.model.dialect.HapiFhirPostgres94Dialect - networks: - - cbioportal_net - hapi-postgres: - restart: unless-stopped - image: docker.io/postgres:16.4-alpine - container_name: cbioportal_fhirspark_database - volumes: - - fhir_data:/var/lib/postgresql/data - environment: - POSTGRES_USER: hapiserver - POSTGRES_PASSWORD: ${POSTGRES_USER_PASSWORD:-P@ssword2} - POSTGRES_DB: hapi - networks: - - cbioportal_net - cbioproxy: - restart: unless-stopped - image: ghcr.io/buschlab/cbioproxy:${RELEASE:-latest} - container_name: cbioproxy_container - volumes: - - ./services/cbioproxy/nginx.conf:/usr/local/openresty/nginx/conf/nginx.conf:Z - - ./services/cbioproxy/cbioportal.conf:/cbioportal.conf:Z - - ./services/cbioproxy/lua_auth_config.lua:/etc/nginx/conf.d/lua_auth_config.lua:Z - - ./services/cbioproxy/lua_login_config.lua:/etc/nginx/conf.d/lua_login_config.lua:Z - - ./services/cbioproxy/lua_resource_config.lua:/etc/nginx/conf.d/lua_resource_config.lua:Z - - ./reports:/usr/share/reports:Z - - ./config/attributes.json:/attributes.json:Z - - ./data/tumorTypes.json:/tumorTypes.json:Z - - ./config/keycloak.pem:/keycloak.pem:z - environment: - NGINX_LOGINREQUIRED: ${LOGINREQUIRED:-false} - KEYCLOAK_REALM: ${KEYCLOAK_REALM:-} - KEYCLOAK_CLIENT_FHIRSPARK: ${KEYCLOAK_CLIENT_FHIRSPARK:-fhirspark} - KEYCLOAK_SECRET_FHIRSPARK: ${KEYCLOAK_SECRET_FHIRSPARK:-nosecrethere} - CBIOPORTAL_URL: ${CBIOPORTAL_URL:-//localhost:8080} - PORT: ${PORT:-8080} - ports: - - "${PORT:-8080}:8080" - depends_on: - - cbioportal - - fhirspark - - genomenexus - networks: - - cbioportal_net - genomenexus: - image: ghcr.io/buschlab/genome-nexus:${RELEASE:-latest} - environment: - - SERVER_PORT=8888 - restart: unless-stopped - depends_on: - - genomenexus_db - - ensembl-rest - - ensembl-mysql - command: [ - "-Dhttps.proxyHost=${HTTPS_PROXY_HOST}", - "-Dhttps.proxyPort=${HTTPS_PROXY_PORT}", - "-Dspring.data.mongodb.uri=mongodb://genomenexus_db:27017/annotator", - "-Dvep.url=http://ensembl-rest:3000/vep/human/hgvs/VARIANT?content-type=application/json&xref_refseq=1&ccds=1&canonical=1&domains=1&hgvs=1&numbers=1&protein=1", - "-Dgenexrefs.url=http://ensembl-rest:3000/xrefs/id/ACCESSION?content-type=application/json", - "-Densembl.sequence.url=http://localhost:3000/sequence/region/human/QUERY?content-type=application/json", - "-DmutationAssessor.url=http://127.0.0.1/VARIANT&frm=json&fts=input,rgaa,rgvt,msa,pdb,F_impact,F_score,vc_score,vs_score,info,var,gene,uprot,rsprot,gaps,msa_height,chr,rs_pos,rs_res,up_pos,up_res,cnt_cosmic,cnt_snps", - "-jar", - "/app/genome-nexus.war" - ] - networks: - - cbioportal_net - genomenexus_db: - image: docker.io/genomenexus/gn-mongo:0.31 - volumes: - - genomenexus_data:/bitnami/mongodb - environment: - - REF_ENSEMBL_VERSION=grch37_ensembl92 - - SPECIES=homo_sapiens - restart: unless-stopped - networks: - - cbioportal_net - ensembl-rest: - image: docker.io/nr205/ensembl-rest:111 - restart: unless-stopped - volumes: - - ./config/ensembl_rest.conf:/opt/vep/src/ensembl-rest/ensembl_rest.conf:Z - networks: - - cbioportal_net - depends_on: - - ensembl-mysql - ensembl-mysql: - image: ghcr.io/buschlab/ensembl-mysql:latest - restart: unless-stopped - networks: - - cbioportal_net - -networks: - cbioportal_net: - -volumes: - cbioportal_data: - cbioportal_session_data: - cbioportal_portalinfo: - fhir_data: - genomenexus_data: +include: + - ./compose/base.yml + - ./compose/${FLAVOR:-care}.yml \ No newline at end of file diff --git a/compose-research.yml b/compose/base.yml similarity index 64% rename from compose-research.yml rename to compose/base.yml index 87bb07b..652901f 100644 --- a/compose-research.yml +++ b/compose/base.yml @@ -1,9 +1,6 @@ -version: '3' - services: cbioportal: restart: unless-stopped - image: docker.io/cbioportal/cbioportal:6.0.16 container_name: cbioportal_container environment: HTTP_PROXY: "http://${HTTPS_PROXY_HOST}:${HTTPS_PROXY_PORT}" @@ -20,46 +17,6 @@ services: - cbioportal-session networks: - cbioportal_net - command: [ - "java", - "-Xms2g", - "-Xmx4g", - "-Doncokb.public_api.url=${ONCOKB_URL:-https://public.api.oncokb.org/api/v1}", - "-Doncokb.token=${ONCOKB_TOKEN}", - "-Dgenomenexus.url=/genome-nexus", - "-Dsession.service.url=http://cbioportal-session:5000/api/sessions/my-portal/", - "-Dshow.civic=${ENABLE_CIVIC:-true}", - "-Dmycancergenome.show=${ENABLE_MYCANCERGENOME:-true}", - "-Dquick_search.enabled=${ENABLE_QUICKSEARCH:-true}", - "-Dfilter_groups_by_appname=false", - "-Dhttps.proxyHost=${HTTPS_PROXY_HOST}", - "-Dhttps.proxyPort=${HTTPS_PROXY_PORT}", - "-Dhttp.nonProxyHosts=cbioportal-session|${NOPROXY_HOSTS:-}", - "-Dskin.right_logo=${LOGO:-pm4onco.png}", - "-Dspring.config.location=cbioportal/application.properties", - "-Dauthenticate=${AUTHENTICATE:-false}", - "-Dspring.autoconfigure.exclude=${EXCLUDE_AUTOCONFIG:-org.springframework.boot.autoconfigure.security.SecurityAutoConfiguration}", - "-Dalways_show_study_group=${ALWAYS_SHOW_STUDY_GROUP:-none}", - "-Dspring.security.oauth2.client.provider.keycloak.user-name-attribute=email", - "-Dspring.security.oauth2.client.registration.keycloak.scope=openid,email,roles", - "-Dspring.security.oauth2.client.provider.keycloak.issuer-uri=${KEYCLOAK_REALM:-}", - "-Dspring.security.oauth2.client.registration.keycloak.client-id=${KEYCLOAK_CLIENT_CBIOPORTAL:-}", - "-Dspring.security.oauth2.client.registration.keycloak.client-secret=${KEYCLOAK_SECRET_CBIOPORTAL:-}", - "-Ddat.method=${DATA_ACCESS_TOKEN:-none}", - "-Ddat.oauth2.clientId=${KEYCLOAK_CLIENT_CBIOPORTAL:-}", - "-Ddat.oauth2.clientSecret=${KEYCLOAK_SECRET_CBIOPORTAL:-}", - "-Ddat.oauth2.issuer=${KEYCLOAK_REALM:-}", - "-Ddat.oauth2.accessTokenUri=${KEYCLOAK_REALM:-}/protocol/openid-connect/token", - "-Ddat.oauth2.userAuthorizationUri=${KEYCLOAK_REALM:-}/protocol/openid-connect/auth", - "-Ddat.oauth2.jwkUrl=${KEYCLOAK_REALM:-}/protocol/openid-connect/certs", - "-Ddat.oauth2.redirectUri=${CBIOPORTAL_URL}/api/data-access-token/oauth2", - "-Dsecurity.cors.allowed-origins=*", - "-Dserver.tomcat.remoteip.port-header=X-Forwarded-Port", - "-Dserver.tomcat.remoteip.protocol-header=X-Forwarded-Proto", - "-cp", - "/cbioportal-webapp:/cbioportal-webapp/lib/*", - "org.cbioportal.PortalApplication" - ] cbioportal_database: restart: unless-stopped image: docker.io/mariadb:11.5.2 @@ -112,7 +69,6 @@ services: container_name: cbioproxy_container volumes: - ./services/cbioproxy/nginx.conf:/usr/local/openresty/nginx/conf/nginx.conf:Z - - ./services/cbioproxy/cbioportal-research.conf:/cbioportal.conf:Z - ./services/cbioproxy/lua_resource_config.lua:/etc/nginx/conf.d/lua_resource_config.lua:Z - ./reports:/usr/share/reports:Z ports: @@ -145,9 +101,9 @@ services: networks: - cbioportal_net genomenexus_db: - image: docker.io/genomenexus/gn-mongo:0.31 + image: ghcr.io/buschlab/gn-mongo:0.31 volumes: - - genomenexus_data:/bitnami/mongodb + - genomenexus_data:/data/db environment: - REF_ENSEMBL_VERSION=grch37_ensembl92 - SPECIES=homo_sapiens diff --git a/compose/care.yml b/compose/care.yml new file mode 100644 index 0000000..f51abdf --- /dev/null +++ b/compose/care.yml @@ -0,0 +1,110 @@ +services: + cbioportal: + image: ghcr.io/buschlab/cbioportal:${RELEASE:-latest} + volumes: + - ./config/frontend.json:/cbioportal/frontend.json:Z + command: [ + "/usr/bin/java", + "-Xms2g", + "-Xmx4g", + "-Doncokb.public_api.url=${ONCOKB_URL:-https://public.api.oncokb.org/api/v1}", + "-Doncokb.token=${ONCOKB_TOKEN}", + "-Dgenomenexus.url=/genome-nexus", + "-Dsession.service.url=http://cbioportal-session:5000/api/sessions/my-portal/", + "-Dshow.civic=${ENABLE_CIVIC:-true}", + "-Dmycancergenome.show=${ENABLE_MYCANCERGENOME:-false}", + "-Dquick_search.enabled=${ENABLE_QUICKSEARCH:-true}", + "-Dfilter_groups_by_appname=false", + "-Dhttps.proxyHost=${HTTPS_PROXY_HOST}", + "-Dhttps.proxyPort=${HTTPS_PROXY_PORT}", + "-Dhttp.nonProxyHosts=cbioportal-session|${NOPROXY_HOSTS:-}", + "-Dfrontend.config=/cbioportal/frontend.json", + "-Dskin.right_logo=${LOGO:-pm4onco.png}", + "-Dspring.config.location=cbioportal/application.properties", + "-Dauthenticate=${AUTHENTICATE:-false}", + "-Dspring.autoconfigure.exclude=${EXCLUDE_AUTOCONFIG:-org.springframework.boot.autoconfigure.security.SecurityAutoConfiguration}", + "-Dalways_show_study_group=${ALWAYS_SHOW_STUDY_GROUP:-none}", + "-Dspring.security.oauth2.client.provider.keycloak.user-name-attribute=email", + "-Dspring.security.oauth2.client.registration.keycloak.scope=openid,email,roles", + "-Dspring.security.oauth2.client.provider.keycloak.issuer-uri=${KEYCLOAK_REALM:-}", + "-Dspring.security.oauth2.client.registration.keycloak.client-id=${KEYCLOAK_CLIENT_CBIOPORTAL:-}", + "-Dspring.security.oauth2.client.registration.keycloak.client-secret=${KEYCLOAK_SECRET_CBIOPORTAL:-}", + "-Ddat.method=${DATA_ACCESS_TOKEN:-none}", + "-Ddat.oauth2.clientId=${KEYCLOAK_CLIENT_CBIOPORTAL:-}", + "-Ddat.oauth2.clientSecret=${KEYCLOAK_SECRET_CBIOPORTAL:-}", + "-Ddat.oauth2.issuer=${KEYCLOAK_REALM:-}", + "-Ddat.oauth2.accessTokenUri=${KEYCLOAK_REALM:-}/protocol/openid-connect/token", + "-Ddat.oauth2.userAuthorizationUri=${KEYCLOAK_REALM:-}/protocol/openid-connect/auth", + "-Ddat.oauth2.jwkUrl=${KEYCLOAK_REALM:-}/protocol/openid-connect/certs", + "-Ddat.oauth2.redirectUri=${CBIOPORTAL_URL}/api/data-access-token/oauth2", + "-Dsecurity.cors.allowed-origins=*", + "-Dserver.tomcat.remoteip.port-header=X-Forwarded-Port", + "-Dserver.tomcat.remoteip.protocol-header=X-Forwarded-Proto", + "-cp", + "/cbioportal-webapp:/cbioportal-webapp/lib/*", + "org.cbioportal.PortalApplication" + ] + cbioproxy: + volumes: + - ./services/cbioproxy/cbioportal.conf:/cbioportal.conf:Z + - ./services/cbioproxy/lua_auth_config.lua:/etc/nginx/conf.d/lua_auth_config.lua:Z + - ./services/cbioproxy/lua_login_config.lua:/etc/nginx/conf.d/lua_login_config.lua:Z + - ./config/attributes.json:/attributes.json:Z + - ./data/tumorTypes.json:/tumorTypes.json:Z + - ./config/keycloak.pem:/keycloak.pem:z + environment: + KEYCLOAK_REALM: ${KEYCLOAK_REALM:-} + KEYCLOAK_CLIENT_FHIRSPARK: ${KEYCLOAK_CLIENT_FHIRSPARK:-fhirspark} + KEYCLOAK_SECRET_FHIRSPARK: ${KEYCLOAK_SECRET_FHIRSPARK:-nosecrethere} + CBIOPORTAL_URL: ${CBIOPORTAL_URL:-//localhost:8080} + depends_on: + - fhirspark + fhirspark: + restart: unless-stopped + image: ghcr.io/buschlab/fhirspark:${RELEASE:-latest} + container_name: cbioportal_fhirspark + depends_on: + - hapiserver + environment: + FHIRSPARK_FHIRBASE: http://hapiserver:8080/fhir + FHIRSPARK_PORTALURL: http://cbioportal:8080/ + FHIRSPARK_LOGINREQUIRED: ${LOGINREQUIRED:-false} + volumes: + - ./data/drugs.json:/drugs.json:Z + - ./data/hgnc.csv:/hgnc.csv:Z + networks: + - cbioportal_net + hapiserver: + restart: unless-stopped + image: docker.io/hapiproject/hapi:v7.4.0-tomcat + container_name: cbioportal_fhirspark_hapiserver + depends_on: + - hapi-postgres + environment: + CATALINA_OPTS: + -Dhapi.fhir.server_address=${CBIOPORTAL_URL}/fhir + -Dhapi.fhir.local_base_url=http://hapiserver:8080/fhir + -Dhapi.fhir.reuse_cached_search_results_millis=5000 + -Dhapi.fhir.validation.requests_enabled=false + -Dspring.datasource.url=jdbc:postgresql://hapi-postgres:5432/hapi?currentSchema=public + -Dspring.datasource.username=hapiserver + -Dspring.datasource.password=${POSTGRES_USER_PASSWORD:-P@ssword2} + -Dspring.datasource.driverClassName=org.postgresql.Driver + -Dspring.jpa.properties.hibernate.dialect=ca.uhn.fhir.jpa.model.dialect.HapiFhirPostgres94Dialect + networks: + - cbioportal_net + hapi-postgres: + restart: unless-stopped + image: docker.io/postgres:16.4-alpine + container_name: cbioportal_fhirspark_database + volumes: + - fhir_data:/var/lib/postgresql/data + environment: + POSTGRES_USER: hapiserver + POSTGRES_PASSWORD: ${POSTGRES_USER_PASSWORD:-P@ssword2} + POSTGRES_DB: hapi + networks: + - cbioportal_net + +volumes: + fhir_data: \ No newline at end of file diff --git a/compose-dev.yml b/compose/dev.yml similarity index 57% rename from compose-dev.yml rename to compose/dev.yml index 700792e..42a02fc 100644 --- a/compose-dev.yml +++ b/compose/dev.yml @@ -1,35 +1,18 @@ -version: '3' - services: cbioportal: - restart: unless-stopped image: ghcr.io/buschlab/cbioportal:${RELEASE:-latest} build: context: services/cbioportal platforms: - "linux/amd64" - "linux/arm64" - container_name: cbioportal_container environment: - HTTP_PROXY: "http://${HTTPS_PROXY_HOST}:${HTTPS_PROXY_PORT}" - NO_PROXY: "cbioportal" SHOW_DEBUG_INFO: "true" volumes: - - ./study:/study/:z - - ./config/application.properties:/cbioportal/application.properties:Z - - ./config/security.properties:/cbioportal/security.properties:Z - ./config/frontend.json:/cbioportal/frontend.json:Z - - ./config/${LOGO:-pm4onco.png}:/cbioportal-webapp/webapp/images/${LOGO:-pm4onco.png}:Z - - ./config/cacerts:/etc/ssl/certs/java/cacerts:Z - - cbioportal_portalinfo:/cbioportal/portalinfo:z - depends_on: - - cbioportal_database - - cbioportal-session ports: - "5005:5005" - "8081:8080" - networks: - - cbioportal_net command: [ "/usr/bin/java", "-Xms2g", @@ -72,58 +55,36 @@ services: "-cp", "/cbioportal-webapp:/cbioportal-webapp/lib/*", "org.cbioportal.PortalApplication" - # "--logging.level.org.springframework=Debug", - # "--logging.level.org.cbioportal=Debug" ] cbioportal_database: - restart: unless-stopped - image: docker.io/mariadb:11.5.2 - container_name: cbioportal_database_container - environment: - MYSQL_ROOT_PASSWORD: ${MYSQL_ROOT_PASSWORD:-P@ssword1} - MYSQL_DATABASE: cbioportal - MYSQL_USER: cbio - MYSQL_PASSWORD: ${MYSQL_USER_PASSWORD:-P@ssword1} - security_opt: - - seccomp:unconfined - volumes: - - ./data/cgds.sql:/docker-entrypoint-initdb.d/cgds.sql:Z - - ./data/seed-cbioportal_hg19_hg38_v2.13.1.sql.gz:/docker-entrypoint-initdb.d/seed.sql.gz:Z - - ./data/tableExtension.sql:/docker-entrypoint-initdb.d/tableExtension.sql:Z - - cbioportal_data:/var/lib/mysql - command: - - --character-set-server=latin1 - - --collation-server=latin1_swedish_ci - - --innodb_buffer_pool_size=${INNODB_BUFFER_POOL_SIZE:-100M} ports: - "3306:3306" - networks: - - cbioportal_net cbioportal-session: - restart: unless-stopped - image: docker.io/cbioportal/session-service:0.6.1 - container_name: cbioportal_session_container - environment: - SERVER_PORT: 5000 - JAVA_OPTS: -Dspring.data.mongodb.uri=mongodb://cbioportal-session-database:27017/session-service - depends_on: - - cbioportal-session-database ports: - "5000:5000" - networks: - - cbioportal_net cbioportal-session-database: - restart: unless-stopped - image: docker.io/mongo:4.2 - container_name: cbioportal_session_database_container - environment: - MONGO_INITDB_DATABASE: session_service - volumes: - - cbioportal_session_data:/data/db ports: - "27017:27017" - networks: - - cbioportal_net + cbioproxy: + build: + context: services/cbioproxy + platforms: + - "linux/amd64" + - "linux/arm64" + volumes: + - ./services/cbioproxy/cbioportal.conf:/cbioportal.conf:Z + - ./services/cbioproxy/lua_auth_config.lua:/etc/nginx/conf.d/lua_auth_config.lua:Z + - ./services/cbioproxy/lua_login_config.lua:/etc/nginx/conf.d/lua_login_config.lua:Z + - ./config/attributes.json:/attributes.json:Z + - ./data/tumorTypes.json:/tumorTypes.json:Z + - ./config/keycloak.pem:/keycloak.pem:z + environment: + KEYCLOAK_REALM: ${KEYCLOAK_REALM:-} + KEYCLOAK_CLIENT_FHIRSPARK: ${KEYCLOAK_CLIENT_FHIRSPARK:-fhirspark} + KEYCLOAK_SECRET_FHIRSPARK: ${KEYCLOAK_SECRET_FHIRSPARK:-nosecrethere} + CBIOPORTAL_URL: ${CBIOPORTAL_URL:-//localhost:8080} + depends_on: + - fhirspark fhirspark: restart: unless-stopped image: ghcr.io/buschlab/fhirspark:${RELEASE:-latest} @@ -131,7 +92,7 @@ services: context: services/fhirspark platforms: - "linux/amd64" - - "linux/arm64" + - "linux/arm64" container_name: cbioportal_fhirspark depends_on: - hapiserver @@ -155,7 +116,7 @@ services: depends_on: - hapi-postgres environment: - CATALINA_OPTS: + CATALINA_OPTS: -Dhapi.fhir.server_address=${CBIOPORTAL_URL}/fhir -Dhapi.fhir.local_base_url=http://hapiserver:8080/fhir -Dhapi.fhir.reuse_cached_search_results_millis=5000 @@ -181,42 +142,7 @@ services: - "5432:5432" networks: - cbioportal_net - cbioproxy: - restart: unless-stopped - image: ghcr.io/buschlab/cbioproxy:${RELEASE:-latest} - build: - context: services/cbioproxy - platforms: - - "linux/amd64" - - "linux/arm64" - container_name: cbioproxy_container - volumes: - - ./services/cbioproxy/nginx.conf:/usr/local/openresty/nginx/conf/nginx.conf:Z - - ./services/cbioproxy/cbioportal.conf:/cbioportal.conf:Z - - ./services/cbioproxy/lua_auth_config.lua:/etc/nginx/conf.d/lua_auth_config.lua:Z - - ./services/cbioproxy/lua_login_config.lua:/etc/nginx/conf.d/lua_login_config.lua:Z - - ./services/cbioproxy/lua_resource_config.lua:/etc/nginx/conf.d/lua_resource_config.lua:Z - - ./reports:/usr/share/reports:Z - - ./config/attributes.json:/attributes.json:Z - - ./data/tumorTypes.json:/tumorTypes.json:Z - - ./config/keycloak.pem:/keycloak.pem:z - environment: - NGINX_LOGINREQUIRED: ${LOGINREQUIRED:-false} - KEYCLOAK_REALM: ${KEYCLOAK_REALM:-} - KEYCLOAK_CLIENT_FHIRSPARK: ${KEYCLOAK_CLIENT_FHIRSPARK:-fhirspark} - KEYCLOAK_SECRET_FHIRSPARK: ${KEYCLOAK_SECRET_FHIRSPARK:-nosecrethere} - CBIOPORTAL_URL: ${CBIOPORTAL_URL:-//localhost:8080} - PORT: ${PORT:-8080} - ports: - - "${PORT:-8080}:8080" - depends_on: - - cbioportal - - fhirspark - - genomenexus - networks: - - cbioportal_net genomenexus: - image: ghcr.io/buschlab/genome-nexus:${RELEASE:-latest} build: context: services/genome-nexus platforms: @@ -224,61 +150,18 @@ services: - "linux/arm64" ports: - "8888:8888" - environment: - - SERVER_PORT=8888 - restart: unless-stopped - depends_on: - - genomenexus_db - - ensembl-rest - - ensembl-mysql - command: [ - "-Dhttps.proxyHost=${HTTPS_PROXY_HOST}", - "-Dhttps.proxyPort=${HTTPS_PROXY_PORT}", - "-Dspring.data.mongodb.uri=mongodb://genomenexus_db:27017/annotator", - "-Dvep.url=http://ensembl-rest:3000/vep/human/hgvs/VARIANT?content-type=application/json&xref_refseq=1&ccds=1&canonical=1&domains=1&hgvs=1&numbers=1&protein=1", - "-Dgenexrefs.url=http://ensembl-rest:3000/xrefs/id/ACCESSION?content-type=application/json", - "-Densembl.sequence.url=http://localhost:3000/sequence/region/human/QUERY?content-type=application/json", - "-DmutationAssessor.url=http://127.0.0.1/VARIANT&frm=json&fts=input,rgaa,rgvt,msa,pdb,F_impact,F_score,vc_score,vs_score,info,var,gene,uprot,rsprot,gaps,msa_height,chr,rs_pos,rs_res,up_pos,up_res,cnt_cosmic,cnt_snps", - "-jar", - "/app/genome-nexus.war" - ] - networks: - - cbioportal_net genomenexus_db: - image: docker.io/genomenexus/gn-mongo:0.31 ports: - "27018:27017" - volumes: - - genomenexus_data:/bitnami/mongodb - environment: - - REF_ENSEMBL_VERSION=grch37_ensembl92 - - SPECIES=homo_sapiens - restart: unless-stopped networks: - cbioportal_net ensembl-rest: - image: docker.io/nr205/ensembl-rest:111 - restart: unless-stopped ports: - "8083:3000" - volumes: - - ./config/ensembl_rest.conf:/opt/vep/src/ensembl-rest/ensembl_rest.conf:Z - networks: - - cbioportal_net - depends_on: - - ensembl-mysql ensembl-mysql: - image: ghcr.io/buschlab/ensembl-mysql:latest - restart: unless-stopped - networks: - - cbioportal_net + ports: + - "3307:3306" -networks: - cbioportal_net: volumes: - cbioportal_data: - cbioportal_session_data: - cbioportal_portalinfo: - fhir_data: - genomenexus_data: + fhir_data: \ No newline at end of file diff --git a/compose/research.yml b/compose/research.yml new file mode 100644 index 0000000..a7716b5 --- /dev/null +++ b/compose/research.yml @@ -0,0 +1,47 @@ +services: + cbioportal: + image: docker.io/cbioportal/cbioportal:6.0.16 + command: [ + "java", + "-Xms2g", + "-Xmx4g", + "-Doncokb.public_api.url=${ONCOKB_URL:-https://public.api.oncokb.org/api/v1}", + "-Doncokb.token=${ONCOKB_TOKEN}", + "-Dgenomenexus.url=/genome-nexus", + "-Dsession.service.url=http://cbioportal-session:5000/api/sessions/my-portal/", + "-Dshow.civic=${ENABLE_CIVIC:-true}", + "-Dmycancergenome.show=${ENABLE_MYCANCERGENOME:-true}", + "-Dquick_search.enabled=${ENABLE_QUICKSEARCH:-true}", + "-Dfilter_groups_by_appname=false", + "-Dhttps.proxyHost=${HTTPS_PROXY_HOST}", + "-Dhttps.proxyPort=${HTTPS_PROXY_PORT}", + "-Dhttp.nonProxyHosts=cbioportal-session|${NOPROXY_HOSTS:-}", + "-Dskin.right_logo=${LOGO:-pm4onco.png}", + "-Dspring.config.location=cbioportal/application.properties", + "-Dauthenticate=${AUTHENTICATE:-false}", + "-Dspring.autoconfigure.exclude=${EXCLUDE_AUTOCONFIG:-org.springframework.boot.autoconfigure.security.SecurityAutoConfiguration}", + "-Dalways_show_study_group=${ALWAYS_SHOW_STUDY_GROUP:-none}", + "-Dspring.security.oauth2.client.provider.keycloak.user-name-attribute=email", + "-Dspring.security.oauth2.client.registration.keycloak.scope=openid,email,roles", + "-Dspring.security.oauth2.client.provider.keycloak.issuer-uri=${KEYCLOAK_REALM:-}", + "-Dspring.security.oauth2.client.registration.keycloak.client-id=${KEYCLOAK_CLIENT_CBIOPORTAL:-}", + "-Dspring.security.oauth2.client.registration.keycloak.client-secret=${KEYCLOAK_SECRET_CBIOPORTAL:-}", + "-Ddat.method=${DATA_ACCESS_TOKEN:-none}", + "-Ddat.oauth2.clientId=${KEYCLOAK_CLIENT_CBIOPORTAL:-}", + "-Ddat.oauth2.clientSecret=${KEYCLOAK_SECRET_CBIOPORTAL:-}", + "-Ddat.oauth2.issuer=${KEYCLOAK_REALM:-}", + "-Ddat.oauth2.accessTokenUri=${KEYCLOAK_REALM:-}/protocol/openid-connect/token", + "-Ddat.oauth2.userAuthorizationUri=${KEYCLOAK_REALM:-}/protocol/openid-connect/auth", + "-Ddat.oauth2.jwkUrl=${KEYCLOAK_REALM:-}/protocol/openid-connect/certs", + "-Ddat.oauth2.redirectUri=${CBIOPORTAL_URL}/api/data-access-token/oauth2", + "-Dsecurity.cors.allowed-origins=*", + "-Dserver.tomcat.remoteip.port-header=X-Forwarded-Port", + "-Dserver.tomcat.remoteip.protocol-header=X-Forwarded-Proto", + "-cp", + "/cbioportal-webapp:/cbioportal-webapp/lib/*", + "org.cbioportal.PortalApplication" + ] + cbioproxy: + volumes: + - ./services/cbioproxy/cbioportal-research.conf:/cbioportal.conf:Z +