This repository contains sample Orthanc configurations to demonstrate how it can be configured in many use cases. Right now, most of these samples use Docker to deploy Orthanc but some Windows setups are coming. We also provide sample lua scripts.
These sample setups require Docker to run. They have been tested only on Linux systems. To test one of these setups, clone this repository and check the readme file in each sample folder.
Note that, from tag 20.4.2, the osimis/orthanc images that are used here have changed a lot. All these demo setups have been updated to work with these images. They won't work with previous images. Go back in the git history of this repo to get setups for older images.
- Basic Orthanc to demonstrate a very basic Orthanc setup.
- Various configuration to demonstrate the different ways to configure the Docker images.
- Stone Web Viewer to demonstrate how to enable the Stone Web Viewer plugin.
- Orthanc + PostgreSQL to demonstrate how to use the Orthanc PostgreSQL plugin
- Orthanc + MySQL to demonstrate how to use the Orthanc MySQL plugin
- Orthanc + MSSQL to demonstrate how to use the Orthanc ODBC plugin
- Orthanc basic DICOM association to demonstrate a simple DICOM association between Orthanc servers (and perform operations such as C-FIND, C-MOVE, C-STORE, C-ECHO).
- Orthanc peering to demonstrate Orthanc peering.
- Orthanc dicom-web to demonstrate Orthanc dicom-web connectivity.
- Orthanc + Transfers accelerator to demonstrate Transfers accelerator plugin.
- Orthanc basic HTTP authentication to demonstrate static, basic HTTP authentication.
- Orthanc Python plugin to demonstrate the use of the Python plugin.
- Orthanc Indexer plugin to demonstrate the use of the Indexer plugin.
- Sharing Orthanc configurations to demonstrate how to share configuration settings between multiple instance of Orthanc in the same Docker network.
- Orthanc Tools JS to demonstrate the of OrthancToolsJS tools developed by Salim Kanoun and his team.
- Use Orthanc-Explorer-2 to demonstrate how to use Orthanc-Explorer-2 with an
admin
and a standarduser
interface. - OHIF Viewer to demonstrate how to configure OHIF Viewer with Orthanc.
- MedDream Viewer to demonstrate how to configure MedDream Viewer with Orthanc.
- Dcm4Chee to demonstrate how to interface Orthanc with Dcm4Chee 5, both using the DICOM protocol and the DICOMweb protocol.
- Dicom modification of received instances to demonstrate how to use Orthanc to modify incoming instances.
- C-Find requests filtering to demonstrate how you can modify C-Find requests in a lua script.
- Orthanc transcode middleman (lua) to demonstrate how to use Orthanc to change the TransferSyntax of instances inbetween a modality and a PACS.
- Orthanc sanitizer middleman (python) to demonstrate how to use Orthanc to sanitize instances between a modality and a PACS (modify tags + change the TransferSyntax).
- Configure logging to demonstrate how to configure logs into a folder that is mapped to the host.
- Running Orthanc behind a nginx reverse proxy to demonstrate how to implement an Orthanc behind a reverse proxy.
- Implementing HTTPS within orthanc to demonstrate how to implement HTTPS withing Orthanc.
- Implementing HTTPS with nginx to demonstrate how to implement an Orthanc behind nginx that is implementing TLS.
- Use multiple Orthanc on the same DB to demonstrate how to connect multiple Orthanc on the same PostgreSQL database and perform HTTP load balancing.
- Use DICOM TLS to demonstrate how to configure DICOM TLS between 2 Orthanc instances.
- Download and update configuration dymically using Lua to demonstrate how to check and update configuration dymically using a lua script.
- Health-check to monitor Orthanc and restart it if it becomes unresponsive.
- Export studies to S3 to export zipped studies into and S3 bucket.
- Orthanc + Serve-Folders Plugin to demonstrate how to use the Orthanc Serve-Folders plugin to build custom web interface on top of Orthanc
- Orthanc + Authorization Plugin + Osimis WebViewer to demonstrate how to use the Orthanc authorization plugin with the Osimis WebViewer plugin
- Authorization Plugin & access control to demonstrate how to use a python plugin and the authorization plugin to implement user access control at study level.
- Orthanc mutual TLS authentication to demonstrate how to use client certificates to authentify Orthanc instances between them.
- Orthanc mutual TLS authentication - 2 to demonstrate how to use client certificates to authentify Orthanc instances between them and to external web-services (note: very advanced users only !). This sample uses nginx to implement server side TLS.
- Orthanc on Azure to demonstrate how to use the Orthanc in an Azure environment (using Azure SQL and Azure Blob Storage)
- Orthanc on AWS to demonstrate how to use the Orthanc in an AWS environment (using RDS and S3)
- Orthanc on Minio to demonstrate how to use the Orthanc with minio storage
- Object-storage plugins performance tests to compare performance of VM SSDs vs object-storage plugins
- Postgresql version upgrade to demontrate how to upgrade from one Postgresql version to another
- Run orthanc as non-root user to demontrate how to run the osimis/orthanc image as a non root user
- Job service to demonstrate how to run a side web-serivce to centralize the jobs of multiple Orthanc instances running behind a load balancer
- Orthanc integration tests to demonstrate how to run the Orthanc integration tests
All these setups assume that Orthanc has been installed on your Windows OS at the default location. Furthermore, the samples make use of the DCMTK toolkit that is assumed to be available in your path. You might need to change a few path in the scripts in order to make them work on your system.
- Pre-fetching to demonstrate how to trigger retrieval of prior studies