Giter Club home page Giter Club logo

epad-dist's People

Contributors

acavit avatar emelalkim avatar muakdogan avatar thomasjtaylor avatar

Stargazers

 avatar  avatar  avatar  avatar

Watchers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

epad-dist's Issues

Plugin Architecture for epadlite

Hello. Do you by any chance have any documentation on the plugin architecture for the new epadlite? I saw both in the UI and in the epadlite app that you had "plugins" containing image_name, image_tag, etc so I was wondering what they meant. The documentation on your main website only refers to the older Java-based epad (as far as I know).

Thanks in advance.

Error 503 When requesting REST API endpoints

Hi,
I'm having some trouble getting my ePAD lite server started and I would really appreciate some feedback as to what may be causing the issues as well as how I may go about resolving it.

My issue seems to be similar if not the same as issue number 5 from https://github.com/RubinLab/epad-dist/issues/26#issuecomment-959420948

Environment

WSL Ubuntu (20.04.1)
Latest epad-dist version

Steps to reproduce

  1. Clone epad-dist repo: git clone https://github.com/RubinLab/epad-dist.git
  2. Generate epad_lite_dist directory and files: ./configure_epad.sh ../epad_lite_dist ./epad.yml
  3. Start all containers: docker-compose up

Errors

1. mariaDB

Error
Access denied for user 'admin'@'localhost' (using password: YES)

Fix

  • Create mariadb user "admin" in epad_mariadb container: CREATE USER 'admin'@'localhost' IDENTIFIED BY 'manager'
  • Grant admin user permissions: GRANT ALL PRIVILEGES ON *.* TO 'admin'@'localhost'; FLUSH PRIVELEGES;

2. epad_lite

Error
"Cannot connect to mariadb (err:afterDBReady. Error: Lite2thick data migration. Error: Cannot parse '( )': Encountered \" \")\" \") \"\" at line 1, column 2.\nWas expecting one of:\n <NOT> ...\n \"+\" ...\n \"-\" ...\n <BAREOPER> ...\n \"(\" ...\n \"*\" ...\n <QUOTED> ...\n <TERM> ...\n <PREFIXTERM> ...\n <WILDTERM> ...\n <REGEXPTERM> ...\n \"[\" ...\n \"{\" ...\n <NUMBER> ...\n <TERM> ...\n \"*\" ...\n ), shutting down the server"}

Fix
N/A: Not sure if this error has any significance.

3. epad_js

Error
"GET /api/users/admin HTTP/1.1" 503 80 "http://localhost/" "Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/97.0.4692.99 Safari/537.36" "

Fix
If REACT_APP_API_URL environmental variable in the docker-compose.yml file is changed from http://localhost/api to http://localhost then the request request doesn't fail and returns a 200 OK.

So far this only fixes the login error but I'm still not able to perform any other tasks such as uploading DCM files.

Thank you in advance
Gabriel Benavidez

Error 401 "Unauthorized" from epad lite

good morning,
i have installed epadlite using epad_manage script (v.0.4) - thick mode on a linux centos 7 - 64bit (as a virtualbox guest that is running on windows 10)

Installation is OK but when i try to access epad from browser, after login (admin/admin), i get a lot of error 401.

I get some logs from container epad_lite and i see this:

{"level":50,"time":1606146608856,"pid":17,"hostname":"c7468b0bfec3","reqId":1,"req":{"method":"GET","url":"/api/users/admin","hostname":"192.168.202.93","remoteAddress":"172.20.0.7","remotePort":59732},"res":{"statusCode":500},"err":{"type":"UnauthenticatedError","message":"Verifying token and getting userinfo: connect EHOSTUNREACH 192.168.202.93:80","stack":"UnauthenticatedError: Verifying token and getting userinfo: connect EHOSTUNREACH 192.168.202.93:80\n at Object.authCheck (/home/node/app/plugins/Other.js:1512:13)\n at processTicksAndRejections (internal/process/task_queues.js:93:5)\n at async Object.auth (/home/node/app/plugins/Other.js:1653:24)","name":"UnauthenticatedError","data":{"message":"Verifying token and getting userinfo: connect EHOSTUNREACH 192.168.202.93:80"}},"msg":"Verifying token and getting userinfo: connect EHOSTUNREACH 192.168.202.93:80","v":1}
{"level":50,"time":1606146608858,"pid":17,"hostname":"c7468b0bfec3","msg":"Cannot notify user Cannot read property 'username' of undefined","v":1}
{"level":30,"time":1606146608863,"pid":17,"hostname":"c7468b0bfec3","reqId":1,"res":{"statusCode":401},"responseTime":1018.1098389998078,"msg":"request completed","v":1}
{"level":50,"time":1606146608864,"pid":17,"hostname":"c7468b0bfec3","reqId":2,"req":{"method":"GET","url":"/api/projects","hostname":"192.168.202.93","remoteAddress":"172.20.0.7","remotePort":59734},"res":{"statusCode":500},"err":{"type":"UnauthenticatedError","message":"Verifying token and getting userinfo: connect EHOSTUNREACH 192.168.202.93:80","stack":"UnauthenticatedError: Verifying token and getting userinfo: connect EHOSTUNREACH 192.168.202.93:80\n at Object.authCheck (/home/node/app/plugins/Other.js:1512:13)\n at processTicksAndRejections (internal/process/task_queues.js:93:5)\n at async Object.auth (/home/node/app/plugins/Other.js:1653:24)","name":"UnauthenticatedError","data":{"message":"Verifying token and getting userinfo: connect EHOSTUNREACH 192.168.202.93:80"}},"msg":"Verifying token and getting userinfo: connect EHOSTUNREACH 192.168.202.93:80","v":1}
{"level":50,"time":1606146608864,"pid":17,"hostname":"c7468b0bfec3","msg":"Cannot notify user Cannot read property 'username' of undefined","v":1}
{"level":30,"time":1606146608865,"pid":17,"hostname":"c7468b0bfec3","reqId":2,"res":{"statusCode":401},"responseTime":1011.1660169996321,"msg":"request completed","v":1}
{"level":50,"time":1606146608866,"pid":17,"hostname":"c7468b0bfec3","reqId":3,"req":{"method":"GET","url":"/api/projects/lite/subjects","hostname":"192.168.202.93","remoteAddress":"172.20.0.7","remotePort":59736},"res":{"statusCode":500},"err":{"type":"UnauthenticatedError","message":"Verifying token and getting userinfo: connect EHOSTUNREACH 192.168.202.93:80","stack":"UnauthenticatedError: Verifying token and getting userinfo: connect EHOSTUNREACH 192.168.202.93:80\n at Object.authCheck (/home/node/app/plugins/Other.js:1512:13)\n at processTicksAndRejections (internal/process/task_queues.js:93:5)\n at async Object.auth (/home/node/app/plugins/Other.js:1653:24)","name":"UnauthenticatedError","data":{"message":"Verifying token and getting userinfo: connect EHOSTUNREACH 192.168.202.93:80"}},"msg":"Verifying token and getting userinfo: connect EHOSTUNREACH 192.168.202.93:80","v":1}
{"level":50,"time":1606146608867,"pid":17,"hostname":"c7468b0bfec3","msg":"Cannot notify user Cannot read property 'username' of undefined","v":1}
{"level":30,"time":1606146608868,"pid":17,"hostname":"c7468b0bfec3","msg":"Checking hasAccessToProject for url: /api/projects/lite/subjects and project lite","v":1}
{"level":30,"time":1606146608870,"pid":17,"hostname":"c7468b0bfec3","reqId":3,"res":{"statusCode":401},"responseTime":1013.8001390001737,"msg":"request completed","v":1}
warning: please use IANA standard timezone format ('Etc/GMT0')
{"level":30,"time":1606146608878,"pid":17,"hostname":"c7468b0bfec3","reqId":4,"req":{"method":"GET","url":"/api/notifications","hostname":"192.168.202.93","remoteAddress":"172.20.0.7","remotePort":59744},"msg":"incoming request","v":1}

192.168.202.93 is centos 7 IP.
Could you help me to resolve this problem ?

thanks
bye Alberto

epad_couchdb required username and password since couchdb 3.0

couchdb updated their latest docker images to 3.0 which now has 'Admin Party mode.' disabled.

When running docker-compose up, epad_couchdb fails with a message to set 'COUCHDB_USER=admin -e COUCHDB_PASSWORD=password'

One workaround is to change the image property from 'latest' to '2.3' in the douchdb dict in epad.yml. Then epad_couchdb is working again.

Note that epad still fails for me due to authentication errors (even after I fillin the SSO prompt). I can't say whether they are caused by to the docker containerization as defined in this repo though. Where would be a proper place for reporting such issues? epad_lite? Auth error is below:

epad_lite | {"level":30,"time":1583512999975,"pid":17,"hostname":"c6c8b7364d28","reqId":12,"req":{"method":"POST","url":"/api/users","hostname":"localhost","remoteAddress":"172.18.0.7","remotePort":55146},"msg":"incoming request","v":1}
epad_lite | {"level":30,"time":1583512999975,"pid":17,"hostname":"c6c8b7364d28","msg":"Request needs to be authenticated, checking the authorization header","v":1}
epad_lite | {"level":50,"time":1583512999976,"pid":17,"hostname":"c6c8b7364d28","reqId":12,"req":{"method":"POST","url":"/api/users","hostname":"localhost","remoteAddress":"172.18.0.7","remotePort":55146},"res":{"statusCode":500},"err":{"type":"UnauthenticatedError","message":"Bearer token does not exist","stack":"UnauthenticatedError: Bearer token does not exist\n at Object.authCheck (/home/node/app/plugins/Other.js:732:16)\n at Object.auth (/home/node/app/plugins/Other.js:810:38)\n at hookIterator (/home/node/app/node_modules/fastify/lib/hooks.js:124:10)\n at next (/home/node/app/node_modules/fastify/lib/hooks.js:70:20)\n at hookRunner (/home/node/app/node_modules/fastify/lib/hooks.js:84:3)\n at preValidationCallback (/home/node/app/node_modules/fastify/lib/handleRequest.js:93:5)\n at handler (/home/node/app/node_modules/fastify/lib/handleRequest.js:70:5)\n at done (/home/node/app/node_modules/fastify/lib/contentTypeParser.js:115:7)\n at Parser.defaultJsonParser [as fn] (/home/node/app/node_modules/fastify/lib/contentTypeParser.js:206:5)\n at IncomingMessage.onEnd (/home/node/app/node_modules/fastify/lib/contentTypeParser.js:185:25)\n at IncomingMessage.emit (events.js:323:22)\n at endReadableNT (_stream_readable.js:1204:12)\n at processTicksAndRejections (internal/process/task_queues.js:84:21)","name":"UnauthenticatedError","data":{"message":"Bearer token does not exist"}},"msg":"Bearer token does not exist","v":1}

Configure epad to use another DICOMWeb server?

Hello,

I am trying to integrate epad with an existing DICOMWeb server. I have three questions.

  1. Is this possible by simply changing the WADO URL in the configuration file?
  2. How difficult would it be to specify custom headers when querying this server? For authentication purposes.
  3. Does epad save annotations as DICOM structured reports to the DICOMWeb server it is configured against?

Starting docker-compose failed

I am trying to install epad_lite in my mac:
macOS Catalina version 10.15.7
Docker desktop: version 2.1.0.1

but I got the following error:

_Creating an optimized production build...
_The build failed because the process exited too early. This probably means the system ran out of memory or someone called kill -9 on the process.
npm ERR! code ELIFECYCLE
npm ERR! errno 1
npm ERR! [email protected] build: react-scripts --max_old_space_size=4096 build
npm ERR! Exit status 1
npm ERR!
npm ERR! Failed at the [email protected] build script.
npm ERR! This is probably not a problem with npm. There is likely additional logging output above.

npm ERR! A complete log of this run can be found in:
npm ERR! /home/node/.npm/logs/2020-10-29T19_39_35_676Z-debug.log
ERROR: Service 'myepadjs' failed to build: The command '/bin/sh -c npm run build' returned a non-zero code: 1
_

The setup of my epad.yml is:
host: localhost
mode: lite
config: environment
cache:
size: "10g"
inactivetime: "60m"
compression:
minsize: "20"
keycloak:
mode: build
dockerfiledir: "./keycloak"
user: admin
password: vivamed123
email: [email protected]
port: 8899
loc: "keycloak"
couchdb:
mode: image
image: "2.3.1"
user: admin
password: admin
port: 8888
dblocation: "../couchdbloc"
dicomweb:
mode: build
dockerfiledir: "./dicomweb-server"
port: 8090
dbname: chronicle
log: true
auth: none
loc: "pacs"
epadlite:
mode: build
dockerfiledir: "./epadlite"
port: 8080
dbname: epadlite
log: true
https: false
auth: auth
loc: "api"
epadjs:
mode: build
dockerfiledir: "./epadjs"
port: 80
mariadb:
mode: image
image: latest
dbname: epaddb
user: admin
password: admin
rootpassword: admin
port: 3306
log: false
backuploc: "./epaddb_nodata.sql"
dblocation: "../mariadbloc"

The setup of the docker-compose is: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://localhost/keycloak/auth"
PUBLIC_URL: "http://localhost"
REACT_APP_API_URL: "http://localhost/api"
REACT_APP_WADO_URL: "wadouri:http://localhost/api/wado"
REACT_APP_BASE_URL: ""
REACT_APP_AUTH_MODE: ""
REACT_APP_MODE: "lite"
depends_on:
- myepadlite
networks:
- epad-network
mykeycloak:
build: ./keycloak
container_name: epad_keycloak
environment:
- KEYCLOAK_USER=admin
- KEYCLOAK_PASSWORD=vivamed123
- 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
depends_on:
- mycouchdb
networks:
- epad-network
mycouchdb:
image: apache/couchdb:2.3.1
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:latest
container_name: epad_mariadb
restart: always
healthcheck:
test: "/usr/bin/mysql --user=admin --password=admin --execute "SHOW DATABASES;""
interval: 3s
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"
# ports:
# - "8090:8090"
environment:
DB_SERVER: "http://admin:admin@epad_couchdb"
DB_NAME: "chronicle"
AUTH: "none"
LOGGER: "true"
PREFIX: "/pacs"
depends_on:
- mykeycloak
healthcheck:
test: ["CMD", "pm2", "show", "DICOMwebServer"]
interval: 1m30s
timeout: 1m
retries: 10
networks:
- epad-network
myepadlite:
build: ./epadlite
container_name: epad_lite
# expose:
# - "8080"
# ports:
# - "8080:8080"
environment:
NOSQL_DB_HOST: "http://admin:admin@epad_couchdb"
NOSQL_DB_NAME: "epadlite"
LOGGER: "true"
HTTPS: "false"
MODE: "lite"
PREFIX: "api"
SQL_DB_HOST: "epad_mariadb"
SQL_DB_NAME: "epaddb"
SQL_USER: "admin"
SQL_PASS: "admin"
SQL_LOGGER: "false"
AUTH_URL: "http://localhost/keycloak"
DICOMWEB_BASEURL: "http://epad_dicomweb:8090/pacs"
AUTH: "auth"
AUTH_USERINFO_URL: "{epadlite_authuserinfourl}"
volumes:
- ../data:/home/node/app/data
depends_on:
- mydicomweb
healthcheck:
test: ["CMD", "pm2", "show", "ePADlite"]
interval: 1m30s
timeout: 1m
retries: 10
networks:
- epad-network
networks:
epad-network:
driver: bridge

Thanks in advance
Diana Lucia Serna Higuita

Redirect Auth URL ERROR

I just followed all steps as you mentioned in readme to use epadlite with docker-compose. However, I haven't used yet because I got an issue with redirect url when I accessed to epad url. it always redict to localhost, it doesn't make sense for me.

redirect url: http://localhost:8899/auth/realms/ePad/protocol/openid-connect/auth?client_id=epad-auth&redirect_uri=http%3A%2F%2F25.2.163.181%3A8000%2F&state=2fb93483-d43c-40d0-9dd0-611f07b93f4b&response_mode=fragment&response_type=code&scope=openid&nonce=9b470151-a250-4103-8df2-f72638d0b15e

Docker-compose:

version: "3"
services:
  myepadjs:
    build: ./epadjs
    container_name: epad_js
    expose:
      - "8000"
    ports:
      - "8000:8000"
    volumes:
      - ./nginx.conf:/etc/nginx/conf.d/default.conf
    environment:
      REACT_APP_AUTH_URL: "http://25.2.163.181:8000/keycloak/auth"
      PUBLIC_URL: "http://25.2.163.181:8000"
      REACT_APP_API_URL: "http://25.2.163.181:8000/api"
      REACT_APP_WADO_URL: "wadouri:http://25.2.163.181:8000/pacs"
      REACT_APP_BASE_URL: ""
      REACT_APP_AUTH_MODE: ""
      REACT_APP_MODE: "lite"
    depends_on:
      - myepadlite
    networks:
      - epad-network
  mykeycloak:
    build: ./keycloak
    container_name: epad_keycloak
    environment:
      - KEYCLOAK_USER=admin
      - KEYCLOAK_PASSWORD=vivamed123
      - 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
    depends_on:
      - mycouchdb
    networks:
      - epad-network
  mycouchdb:
    image: apache/couchdb:2.3.1
    container_name: epad_couchdb
    expose:
      - "8887"
    ports:
      - "8887:5984"
    volumes:
      - "../couchdbloc:/opt/couchdb/data"
    healthcheck:
      test: ["CMD", "curl", "-f", "http://localhost:5984"]
      interval: 1m30s
      timeout: 1m
      retries: 10
    depends_on:
      - mymariadb
    networks:
      - epad-network
  mymariadb:
    image: rubinlab/mariadb:latest
    container_name: epad_mariadb
    restart: always
    healthcheck:
      test: "/usr/bin/mysql --user=admin --password=admin --execute \"SHOW DATABASES;\""
      interval: 3s
      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"
    # ports:
    #   - "8090:8090"
    environment:
      DB_SERVER: "http://epad_couchdb"
      DB_NAME: "chronicle"
      AUTH: "none"
      LOGGER: "true"
      PREFIX: "/pacs"
    depends_on:
      - mykeycloak
    healthcheck:
      test: ["CMD", "pm2", "show", "DICOMwebServer"]
      interval: 1m30s
      timeout: 1m
      retries: 10
    networks:
      - epad-network
  myepadlite:
    build: ./epadlite
    container_name: epad_lite
    # expose:
    #   - "8080"
    # ports:
    #   - "8080:8080"
    environment:
      NOSQL_DB_HOST: "http://epad_couchdb"
      NOSQL_DB_NAME: "epadlite"
      LOGGER: "true"
      HTTPS: "false"
      MODE: "lite"
      PREFIX: "api"
      SQL_DB_HOST: "epad_mariadb"
      SQL_DB_NAME: "epaddb"
      SQL_USER: "admin"
      SQL_PASS: "admin"
      SQL_LOGGER: "false"
      AUTH_URL: "http://25.2.163.181:8000/keycloak"
      DICOMWEB_BASEURL: "http://epad_dicomweb:8090/pacs"
      AUTH: "auth"
      AUTH_USERINFO_URL: "{epadlite_authuserinfourl}"
    volumes:
      - ../data:/home/node/app/data
    depends_on:
      - mydicomweb
    healthcheck:
      test: ["CMD", "pm2", "show", "ePADlite"]
      interval: 1m30s
      timeout: 1m
      retries: 10
    networks:
      - epad-network
networks:
  epad-network:
    driver: bridge

Error 401 "Unauthorized" after epad lite instalation admin user

Hi,
After the epad-lite installation, it is possible to login in the epad as admin, but it is not possible to execute any action (no create user, not upload files). the error that I see in the development tools is:

Bildschirmfoto 2020-10-30 um 22 41 29

Also in the logs I saw the following errors (it seems that the MariaDB database has not been created):
Bildschirmfoto 2020-10-30 um 22 44 25

Bildschirmfoto 2020-10-30 um 22 50 41

Below you can see the docker-compose that we are using:
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://25.2.163.181/keycloak/auth"
PUBLIC_URL: "http://25.2.163.181"
REACT_APP_API_URL: "http://25.2.163.181/api"
REACT_APP_WADO_URL: "wadouri:http://25.2.163.181/api/wado"
REACT_APP_BASE_URL: ""
REACT_APP_AUTH_MODE: ""
REACT_APP_MODE: "lite"
depends_on:
- myepadlite
networks:
- epad-network
mykeycloak:
build: ./keycloak
container_name: epad_keycloak
environment:
- KEYCLOAK_USER=admin
- KEYCLOAK_PASSWORD=vivamed123
- 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=vivamed123
healthcheck:
test: ["CMD", "curl", "-f", "http://localhost:5984"]
interval: 1m30s
timeout: 1m
retries: 10
depends_on:
- mymariadb
networks:
- epad-network
mymariadb:
image: rubinlab/mariadb:latest
container_name: epad_mariadb
restart: always
healthcheck:
test: "/usr/bin/mysql --user=admin --password=vivamed --execute "SHOW DATABASES;""
interval: 3s
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: vivamed
MYSQL_ROOT_PASSWORD: rootvivamed
networks:
- epad-network
mydicomweb:
build: ./dicomweb-server
container_name: epad_dicomweb
# expose:
# - "8090"
# ports:
# - "8090:8090"
environment:
DB_SERVER: "http://admin:vivamed123@epad_couchdb"
DB_NAME: "chronicle"
AUTH: "none"
LOGGER: "true"
PREFIX: "/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:vivamed123@epad_couchdb"
NOSQL_DB_NAME: "epadlite"
LOGGER: "true"
HTTPS: "false"
MODE: "lite"
PREFIX: "api"
SQL_DB_HOST: "epad_mariadb"
SQL_DB_NAME: "epaddb"
SQL_USER: "admin"
SQL_PASS: "vivamed"
SQL_LOGGER: "false"
AUTH_URL: "http://25.2.163.181/keycloak"
DICOMWEB_BASEURL: "http://epad_dicomweb:8090/pacs"
AUTH: "auth"
AUTH_USERINFO_URL: "{epadlite_authuserinfourl}"
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

Epad.yml file used by the installation:
host: 25.2.163.181
mode: lite
config: environment
cache:
size: "10g"
inactivetime: "60m"
compression:
minsize: "20"
keycloak:
mode: build
dockerfiledir: "./keycloak"
user: admin
password: vivamed123
email: [email protected]
port: 8899
loc: "keycloak"
couchdb:
mode: image
image: "ibmcom/couchdb3:latest"
user: admin
password: vivamed123
port: 8888
dblocation: "../couchdbloc"
dicomweb:
mode: build
dockerfiledir: "./dicomweb-server"
port: 8090
dbname: chronicle
log: true
auth: none
loc: "pacs"
branch: "master"
epadlite:
mode: build
dockerfiledir: "./epadlite"
port: 8080
dbname: epadlite
log: true
https: false
auth: auth
loc: "api"
branch: "master"
epadjs:
mode: build
dockerfiledir: "./epadjs"
port: 80
branch: "master"
mariadb:
mode: image
image: latest
dbname: epaddb
user: admin
password: vivamed
rootpassword: rootvivamed
port: 3306
log: false
backuploc: "./epaddb_nodata.sql"
dblocation: "../mariadbloc"

Thanks in advance
Diana Lucia Serna Higuita

ePadjs deployed by docker does not work

Hi Rubin Lab, I'm trying to deploy ePad for medical image annotation. However, there is a small problem

Problem

ePadjs does not work after installation via dockers.

Steps to reproduce

  1. Open the ports:
  • 3000
  • 8080
  • 8090
  • 8899
  1. Install docker
  2. Replace http://epad-build.stanford.edu with localhost ip in the files mentioned in the installation guide
  3. Run docker-compose up --build -d

Expected Behavior

ePadjs web runs and goes to login page

Actual behavior

ePadjs does not direct to login page to access private modules

ePadjs running on Chrome
Capture d’écran 2019-12-19 à 4 12 15 PM
Docker checking
Capture d’écran 2019-12-19 à 4 11 47 PM

Thank you for your help!

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.