Open sudoshi opened 9 months ago
services:
web:
image: perseushub/web:latest
build: ./nginx
container_name:
web
ports:
- "80:80" #conflicts with Broadsea-content
restart: always
shareddb:
image: perseushub/shareddb:latest
build: ./shared-db
container_name: shareddb
volumes:
- shareddb:/data/postgres
ports:
- "5432:5432"
files-manager:
image: perseushub/files-manager:latest
build: ./files-manager
container_name: files-manager
ports:
- "10500:10500"
environment:
- SPRING_PROFILES_ACTIVE=docker
depends_on:
- shareddb
user:
image: perseushub/user:latest
build: ./user
container_name: user
environment:
USER_ENV: Docker
env_file:
- user/user-envs.txt
ports:
- "5001:5001"
depends_on:
- shareddb
backend:
image: perseushub/backend:latest
build: ./perseus-api
container_name: backend
environment:
PERSEUS_ENV: Docker
ports:
- "5004:5004"
depends_on:
- shareddb
- files-manager
frontend:
image: perseushub/frontend:latest
build:
context: ./UI
args:
env: prod
container_name:
frontend
ports:
- "4200:4200"
white-rabbit:
image: perseushub/white-rabbit:latest
build: ../WhiteRabbit
container_name:
white-rabbit
ports:
- "8007:8000"
environment:
- SPRING_PROFILES_ACTIVE=docker
depends_on:
- shareddb
- files-manager
vocabularydb:
image: perseushub/vocabularydb:latest
build: ./vocabulary-db
container_name: vocabularydb
healthcheck:
test: [ "CMD", "pg_isready", "-q", "-d", "vocabulary", "-U", "admin" ]
timeout: 60s
interval: 30s
retries: 10
volumes:
- vocabularydb:/data/postgres
ports:
- "5431:5432"
cdm-builder:
image: perseushub/cdm-builder:latest
build: ../ETL-CDMBuilder
container_name:
cdm-builder
ports:
- "9000:9000"
environment:
- ASPNETCORE_ENVIRONMENT=Docker
depends_on:
- shareddb
- files-manager
- vocabularydb
solr:
image: perseushub/solr:latest
build: ./solr
container_name: solr
ports:
- "8983:8983"
volumes:
- solr:/var/solr
depends_on:
- vocabularydb
athena:
image: perseushub/athena:latest
build: ./athena-api
container_name: athena
environment:
ATHENA_ENV: Docker
ports:
- "5002:5002"
depends_on:
- solr
usagi:
image: perseushub/usagi:latest
build: ./usagi-api
command: python /app/main.py
container_name: usagi
environment:
USAGI_ENV: Docker
ports:
- "5003:5003"
depends_on:
- shareddb
- solr
r-serve:
image: perseushub/r-serve:latest
build:
context: ../DataQualityDashboard/R
args:
prop: docker
container_name:
r-serve
ports:
- "6311:6311"
depends_on:
- shareddb
data-quality-dashboard:
image: perseushub/data-quality-dashboard:latest
build:
context: ../DataQualityDashboard
container_name:
data-quality-dashboard
ports:
- "8001:8001"
environment:
- SPRING_PROFILES_ACTIVE=docker
depends_on:
- shareddb
- files-manager
- r-serve
swagger:
image: perseushub/swagger:latest
build: ./swagger-ui
container_name: swagger
ports:
- "8080:8080" #conflicts with Traefik Dasboard
volumes:
shareddb:
vocabularydb:
solr:
New docker compose to enable reverse proxy:
version: '3.9'
services:
web:
image: perseushub/web:latest
build: ./nginx
container_name: web
expose:
- "80"
labels:
- "traefik.enable=true"
- "traefik.http.routers.web.rule=Host(`perseus.acumenus.net`)"
- "traefik.http.routers.web.entrypoints=websecure"
- "traefik.http.routers.web.tls.certresolver=myresolver"
- "traefik.http.services.web.loadbalancer.server.port=80"
shareddb:
image: perseushub/shareddb:latest
build: ./shared-db
container_name: shareddb
volumes:
- shareddb:/data/postgres
expose:
- "5432"
labels:
- "traefik.enable=true"
files-manager:
image: perseushub/files-manager:latest
build: ./files-manager
container_name: files-manager
expose:
- "10500"
environment:
- SPRING_PROFILES_ACTIVE=docker
depends_on:
- shareddb
labels:
- "traefik.enable=true"
user:
image: perseushub/user:latest
build: ./user
container_name: user
environment:
USER_ENV: Docker
env_file:
- user/user-envs.txt
expose:
- "5001"
depends_on:
- shareddb
labels:
- "traefik.enable=true"
backend:
image: perseushub/backend:latest
build: ./perseus-api
container_name: backend
environment:
PERSEUS_ENV: Docker
expose:
- "5004"
depends_on:
- shareddb
- files-manager
labels:
- "traefik.enable=true"
frontend:
image: perseushub/frontend:latest
build:
context: ./UI
args:
env: prod
container_name:
frontend
expose:
- "4200"
labels:
- "traefik.enable=true"
- "traefik.http.routers.web.rule=Host(`perseus.acumenus.net`)"
- "traefik.http.routers.web.entrypoints=websecure"
- "traefik.http.routers.web.tls.certresolver=myresolver"
- "traefik.http.services.web.loadbalancer.server.port=4200"
white-rabbit:
image: perseushub/white-rabbit:latest
build: ../WhiteRabbit
container_name:
white-rabbit
expose:
- "8000"
environment:
- SPRING_PROFILES_ACTIVE=docker
depends_on:
- shareddb
- files-manager
labels:
- "traefik.enable=true"
vocabularydb:
image: perseushub/vocabularydb:latest
build: ./vocabulary-db
container_name: vocabularydb
healthcheck:
test: [ "CMD", "pg_isready", "-q", "-d", "vocabulary", "-U", "admin" ]
timeout: 60s
interval: 30s
retries: 10
volumes:
- vocabularydb:/data/postgres
ports:
- "5431:5432"
labels:
- "traefik.enable=true"
cdm-builder:
image: perseushub/cdm-builder:latest
build: ../ETL-CDMBuilder
container_name:
cdm-builder
expose:
- "9000"
environment:
- ASPNETCORE_ENVIRONMENT=Docker
depends_on:
- shareddb
- files-manager
- vocabularydb
labels:
- "traefik.enable=true"
solr:
image: perseushub/solr:latest
build: ./solr
container_name: solr
expose:
- "8983"
volumes:
- solr:/var/solr
depends_on:
- vocabularydb
labels:
- "traefik.enable=true"
athena:
image: perseushub/athena:latest
build: ./athena-api
container_name: athena
environment:
- ATHENA_ENV=Docker
expose:
- "5002"
depends_on:
- solr
labels:
- "traefik.enable=true"
usagi:
image: perseushub/usagi:latest
build: ./usagi-api
command: python /app/main.py
container_name: usagi
environment:
USAGI_ENV: Docker
expose:
- "5003"
depends_on:
- shareddb
- solr
labels:
- "traefik.enable=true"
r-serve:
image: perseushub/r-serve:latest
build:
context: ../DataQualityDashboard/R
args:
prop: docker
container_name:
r-serve
expose:
- "6311"
depends_on:
- shareddb
labels:
- "traefik.enable=true"
data-quality-dashboard:
image: perseushub/data-quality-dashboard:latest
build:
context: ../DataQualityDashboard
container_name:
data-quality-dashboard
expose:
- "8001"
environment:
- SPRING_PROFILES_ACTIVE=docker
depends_on:
- shareddb
- files-manager
- r-serve
labels:
- "traefik.enable=true"
swagger:
image: perseushub/swagger:latest
build: ./swagger-ui
container_name: swagger
expose:
- "8080"
labels:
- "traefik.enable=true"
networks:
perseus_default:
traefik_proxy:
volumes:
shareddb:
vocabularydb:
solr:
Screenshot:
v0.1 Goal state:
Off prompts -
Summary
After 4+ months away from the project, I restarted my Perseus VM and re-familiarized myself with the application. I then tried to install it on my main server where I run other stacks, including Broadsea. I understand that Ajit and Lee are endeavoring to include a Perseus profile in Broadsea 3.1 and much work has been accomplished.
For now, I would like to understand the implications of changing the standard ports specified in the docker-compose.yml. I made port adjustments in the attached file. (docker-compose.txt)
Value Summary
Clarification on what breaks and what are the best ports/method to change to ensure compatibility in a multi-stack installation environment would assist in efforts currently to utilize the application stack as well as integrate it as a profile along with other useful stacks to the OHDSI community.