Best environment to improve orthanc server using osmis/orthanc

386 views
Skip to first unread message

Adly Nuqman

unread,
Dec 15, 2021, 10:10:03 AM12/15/21
to Orthanc Users
Hi, i tried to play around with osmis/orthanc environment. My aim is to get the best performance for orthanc which also improve the dicomweb performance (i'm using OHIF viewer). i'm dealing with angiography study which is usually very large study which can reach 3GB for 1 study. This require high performace dicom server to enable us to view the study smoothly. Below are my environment for my orthanc/osmis container. Am i doing the right thing? Any other way to improve this?

Thank you in advance


 postgres:

     container_name: postgres

     image: postgres:13.1

     environment:

         POSTGRES_DB : "post"

         POSTGRES_HOST_AUTH_METHOD: "trust"

         PG_STORAGE_ENABLED: "false"

         PG_INDEX_ENABLED: "true"

     volumes:

         - ./postgress2:/var/lib/postgresql/data

     restart: unless-stopped


orthanc:

     image: osimis/orthanc:21.8.1

     container_name: orthanc

     restart: unless-stopped

     ports: ["8092:8042", "4290:4242"]

     volumes: ["./orthanc2:/var/lib/orthanc/db:Z"]

     environment:

         ORTHANC__NAME: "ort"

         ORTHANC__DICOM_SERVER_ENABLED: "true"

         ORTHANC__DICOM_MODALITIES_IN_DATABASE: "true"

         ORTHANC__ORTHANC_PEERS_IN_DATABASE: "true"

         DICOM_WEB_PLUGIN_ENABLED: "true"

         OSIMIS_WEB_VIEWER1_PLUGIN_ENABLED: "true"

         PYTHON_PLUGIN_ENABLED: "true"

         TRANSFERS_PLUGIN_ENABLED: "true"

         WORKLISTS_PLUGIN_ENABLED: "true"

         AUTHORIZATION_PLUGIN_ENABLE: "false"

         ORTHANC__AUTHENTICATION_ENABLE: "false"

         ORTHANC__REGISTERED_USERS: |

             {"ort": "ort"}

         ORTHANC__DICOM_WEB__ENABLE: "true"

         ORTHANC__DICOM_WEB__ROOT: "/dicom-web/"

         ORTHANC__DICOM_WEB__ENABLEWADO: "true"

         ORTHANC__DICOM_WEB__WADOROOT: "/wado"

         ORTHANC__DICOM_WEB__SSL: "true"

         ORTHANC__DICOM_WEB__STUDIESMETADATA: "MainDicomTags"

         ORTHANC__DICOM_WEB__SERIESMETADATA: "Full"

         DICOM_AET: "ort"

         ORTHANC__DICOM_CHECK_MODALITY_HOST: "false"

         ORTHANC__DICOM_CHECK_CALLED_AET: "false"

         ORTHANC__DICOM_ALWAYS_ALLOW_GET: "true"

         ORTHANC__DICOM_ALWAYS_ALLOW_MOVE: "true"

         ORTHANC__DICOM_ALWAYS_ALLOW_FIND: "true"

         STONE_WEB_VIEWER_PLUGIN_ENABLED: "true"

         ORTHANC__DICOM_CHECK_MODALITY_HOST: "false"

         ORTHANC__DICOM_CHECK_CALLED_AET: "true"

         TRANSFERS_PLUGIN_ENABLED: "true"

         ORTHANC__AUTHENTICATION_ENABLED: "false"

         ORTHANC__DICOM_SCU_TIMEOUT: 0

         ORTHANC__DICOM_QUERY_RETRIEVE_SIZE: 0

         ORTHANC__DICOM_SCP_TIMEOUT: 0

         ORTHANC__DICOM_UNKNOWN_SOP_CLASS_ACCEPTED: "true"

         ORTHANC__DICOM_SYNCHRONOUS_CMOVE: "true"

         ORTHANC__DICOM_WEB__STOW_MAX_SIZE: "100"

         ORTHANC__DICOM_WEB__STOW_MAX_INSTANCES: "100"

         HTTP_REQUEST_TIMEOUT: "1000"

         HTTP_CL_TIMEOUT: "1000"

         HTTP_COMPRESSION_ENABLED: "True"

         STABLE_AGE: "1000"

         TRANSFERS_RETRIES: "5"

         TRANSFERS_MAX_PUSH_TRANSACTIONS: "1000"

         TRANSFERS_ENABLED: "true"

         TRANSFERS_MAX_PUSH_TRANSACTIONS: "1000"

         TRANSFERS_CACHE_SIZE: "500"

         TRANSFERS_BUCKET_SIZE: "800"

         TRANSFERS_THREADS: "1000"

         WSI_ENABLED: "true"

         WSIX_ENABLED: "true"

         HTTP_TCP_NODELAY: "true"

         HAS_WADO_RS_UNIVERSAL_TRANSFER_SYNTAX: "true"

         CHUNKED_TRANSFER: "true"   

         DW_SERVERS_IN_DATABASE: "true"

         MALLOC_MMAP_THRESHOLD_: 10

         STORAGE_MAX_SIZE: "0"

         STORAGE_MAX_PATIENTS: "0"

         STORAGE_COMPRESSION: "true"

         INGEST_TRANSCODING_OF_COMPRESSED: "true"

         INGEST_TRANSCODING_OF_DECOMPRESSED: "false"

         TRANSCODE_DICOM_PROTOCOL: "false"

         AlLOW_TRANSCODING: "false"

         UNKNOWN_SOP_CLASS_ACCEPTED: "true"

         ORTHANC__HTTP_TCP_NODELAY: "true"

Sébastien Jodogne

unread,
Dec 16, 2021, 9:28:30 AM12/16/21
to Orthanc Users
Hello,

The Orthanc Book contains information about how to configure Orthanc for best scalability:

The way these options are mapped to environment variables in the "osimis/orthanc" images is also explained:

Sébastien-
Reply all
Reply to author
Forward
0 new messages