services: postgres: image: postgres:alpine container_name: postgres profiles: [ main, extra ] networks: pacs: aliases: - postgres environment: - PGPASSWORD=${PGPASSWORD} - POSTGRES_USER=${POSTGRES_USER} - POSTGRES_PASSWORD=${POSTGRES_PASSWORD} - POSTGRES_DB=${POSTGRES_DB} - PGDATA=${PGDATA} - PGTZ=${PGTZ} - POSTGRES_HOST_AUTH_METHOD="trust" volumes: - ${POSTGRES_DATA_MNT}:${PGDATA}:Z healthcheck: test: [ "CMD-SHELL", "pg_isready -d $${POSTGRES_DB} -U $${POSTGRES_USER}" ] start_period: 20s interval: 30s retries: 5 timeout: 5s restart: unless-stopped orthanc: container_name: orthanc profiles: [ main, extra ] image: orthancteam/orthanc ports: - 8042:8042 - 4242:4242 volumes: - ${ORTHANC_CONFIG:-./config/orthanc}:/etc/orthanc/:ro - ${ORTHANC_DB_MNT:-./volumes/orthanc_db}:/var/lib/orthanc/db:Z - ${ORTHANC_OHIF:-./config/ohif/ohif.js}:/usr/local/share/orthanc/ohif.js:ro - ${ORTHANC_LOG:-./volumes/orthanc_logs}:/var/log/orthanc env_file: - orthanc.env environment: ORTHANC__DICOM_AET: "${ORTHANC_AET}" ORTHANC__POSTGRESQL__HOST: "${POSTGRES_HOST}" restart: unless-stopped networks: pacs: aliases: - orthanc depends_on: - postgres ohif: container_name: ohif profiles: [ main, extra ] image: ohif/app:v3.9.2 ports: - 3000:80 environment: - APP_CONFIG=/usr/share/nginx/html/app-config.js volumes: - ${NGINX_DEFAULT_CONF}:/etc/nginx/conf.d/default.conf:ro - ${NGINX_OHIF_CONF}:/etc/nginx/enabled-sites/ohif.conf:ro - ${OHIF_CONFIG}:/usr/share/nginx/html/app-config.js:ro - ${OHIF_LOGO}:/usr/share/nginx/html/logo.png:ro restart: unless-stopped depends_on: - orthanc networks: pacs: aliases: - ohif meddream: image: meddream/dicom-viewer:8.5.0 profiles: [ extra ] container_name: meddream restart: unless-stopped ports: - "80:8080" depends_on: - orthanc - postgres networks: pacs: aliases: - meddream volumes: - ./config/meddream/application.properties:/opt/meddream/application.properties:ro #- ./config/meddream/license:/opt/meddream/license:ro - ./config/meddream/system.json:/opt/meddream/sys/settings/system.json:ro orthanctoolsjs: profiles: [ extra ] image: salimkanoun/orthanctoolsjs restart: unless-stopped ports: [ "4000:4000" ] volumes: [ "${ORTHANC_TOOLS_MNT:-./volumes/orthanc_tools}:/OrthancToolsJs/data" ] environment: TZ: "${TZ}" ORTHANC_ADDRESS: "http://orthanc" ORTHANC_PORT: "8042" ORTHANC_USERNAME: "${ORTHANC_USERNAME}" ORTHANC_PASSWORD: "${ORTHANC_PASSWORD}" REDIS_HOST: "redis" REDIS_PORT: "6379" REDIS_PASSWORD: "" DB_USERNAME: "${POSTGRES_USER}" DB_PASSWORD: "${POSTGRES_PASSWORD}" DB_HOST: "${POSTGRES_HOST}" DB_PORT: ${POSTGRES_PORT} DB_NAME: ${POSTGRES_DB} DOMAIN_PROTOCOL: "http" DOMAIN_ADDRESS: "localhost:4000" depends_on: - redis - orthanc - postgres networks: pacs: aliases: - orthanctoolsjs redis: profiles: [ extra ] image: redis:alpine networks: pacs: aliases: - redis pgadmin: container_name: pgadmin profiles: [ extra ] image: dpage/pgadmin4:latest restart: unless-stopped environment: - PGADMIN_DEFAULT_EMAIL=${PGADMIN_MAIL} - PGADMIN_DEFAULT_PASSWORD=${PGADMIN_PASS} - PGADMIN_CONFIG_SERVER_MODE=${PGADMIN_SERVER} - PGADMIN_CONFIG_MASTER_PASSWORD_REQUIRED=${PGADMIN_MASTER_PASS} ports: - 5050:5050 depends_on: - postgres networks: pacs: aliases: - pgadmin networks: pacs: external: true