Skip to content

Instantly share code, notes, and snippets.

@gabrielbenavidez
Created February 17, 2022 23:05
Show Gist options
  • Save gabrielbenavidez/78bd998d1fbb766fbc79d942513e00d4 to your computer and use it in GitHub Desktop.
Save gabrielbenavidez/78bd998d1fbb766fbc79d942513e00d4 to your computer and use it in GitHub Desktop.
epadlite docker-compose file
version: "3"
services:
myepadjs:
build: ./epadjs
container_name: epad_js
expose:
- "80"
ports:
- "80:80"
volumes:
- ./epadjs/nginx.conf:/etc/nginx/conf.d/default.conf
- ./epadjs/entrypoint.sh:/usr/local/bin/entrypoint
environment:
REACT_APP_AUTH_URL: "http://indiana/keycloak/auth"
PUBLIC_URL: "http://indiana"
REACT_APP_API_URL: "http://indiana/api"
REACT_APP_WADO_URL: "wadouri:http://indiana/api/wado"
REACT_APP_BASE_URL: ""
REACT_APP_AUTH_MODE: ""
REACT_APP_MODE: "thick"
depends_on:
- myepadlite
networks:
- epad-network
mykeycloak:
build: ./keycloak
container_name: epad_keycloak
environment:
- KEYCLOAK_USER=admin
- KEYCLOAK_PASSWORD=admin
- DB_VENDOR=H2
- PROXY_ADDRESS_FORWARDING=true
# expose:
# - "8899"
command:
- "-b 0.0.0.0"
- "-Dkeycloak.import=/opt/jboss/keycloak/realm-export.json,/opt/jboss/keycloak/realm-export_epad.json"
# ports:
# - "8899:8080"
volumes:
- ./realm-export.json:/opt/jboss/keycloak/realm-export.json
- ./realm-export_epad.json:/opt/jboss/keycloak/realm-export_epad.json
- ./terms.ftl:/opt/jboss/keycloak/themes/base/login/terms.ftl
- ../tmp:/tmp
depends_on:
- mycouchdb
networks:
- epad-network
mycouchdb:
image: ibmcom/couchdb3:latest
container_name: epad_couchdb
# expose:
# - "8888"
# ports:
# - "8888:5984"
volumes:
- "../couchdbloc:/opt/couchdb/data"
environment:
- COUCHDB_USER=admin
- COUCHDB_PASSWORD=admin
healthcheck:
test: ["CMD", "curl", "-f", "http://localhost:5984"]
interval: 1m30s
timeout: 1m
retries: 10
depends_on:
- mymariadb
networks:
- epad-network
mymariadb:
image: rubinlab/mariadb:20200308
container_name: epad_mariadb
restart: always
healthcheck:
test: "/usr/bin/mysql --user=admin --password=admin --execute \"SHOW DATABASES;\""
interval: 10s
timeout: 1s
retries: 5
# expose:
# - "3306"
# ports:
# - "3306:3306"
command: --init-file /data/application/init.sql
volumes:
- ../mariadbloc:/var/lib/mysql
- ./epaddb_nodata.sql:/data/application/init.sql
environment:
MYSQL_DATABASE: epaddb
MYSQL_USER: admin
MYSQL_PASSWORD: admin
MYSQL_ROOT_PASSWORD: admin
networks:
- epad-network
mydicomweb:
build: ./dicomweb-server
container_name: epad_dicomweb
expose:
# - "8090"
- "4002"
ports:
# - "8090:8090"
- "4002:4002"
volumes:
- ../dimsetemp:/home/node/app/dimsetemp
environment:
DB_SERVER: "http://admin:admin@epad_couchdb"
DB_NAME: "chronicle"
AUTH: "none"
LOGGER: "true"
PREFIX: "/pacs"
TEMPDIR: "./dimsetemp"
AET: "PACS"
depends_on:
- mykeycloak
healthcheck:
test: ["CMD", "pm2", "show", "DICOMwebServer"]
interval: 1m30s
timeout: 1m
retries: 10
networks:
- epad-network
myepadlite:
container_name: epad_lite
build:
context: ./epadlite
dockerfile: Dockerfile
args:
ARG_EPAD_DOCKER_GID: 999
# expose:
# - "8080"
# ports:
# - "8080:8080"
environment:
NOSQL_DB_HOST: "http://admin:admin@epad_couchdb"
NOSQL_DB_NAME: "epadlite"
LOGGER: "true"
HTTPS: "false"
MODE: "thick"
PREFIX: "api"
SQL_DB_HOST: "epad_mariadb"
SQL_DB_NAME: "epaddb"
SQL_USER: "admin"
SQL_PASS: "admin"
SQL_LOGGER: "false"
AUTH_URL: "http://indiana/keycloak"
DICOMWEB_BASEURL: "http://epad_dicomweb:8090/pacs"
AUTH: "auth"
AUTH_USERINFO_URL: "{epadlite_authuserinfourl}"
ONTOLOGY_NAME: "YOUR_ONTOLOGY_NAME"
ONTOLOGY_APIKEY: "YOUR_ONTOLOGY_APIKEY"
volumes:
- ../data:/home/node/app/data
- ../pluginData:/home/node/app/pluginsDataFolder
- /var/run/docker.sock:/var/run/docker.sock
depends_on:
- mydicomweb
healthcheck:
test: ["CMD", "pm2", "show", "ePADlite"]
interval: 1m30s
timeout: 1m
retries: 10
networks:
- epad-network
networks:
epad-network:
driver: bridge
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment