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.
Content:
[TOC]
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.
- 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 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.
- 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
- 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 integration tests to demonstrate how to run the Orthanc integration tests
Note that the osimis.azurecr.io/orthanc-pro images are private. Access is restricted to companies who have subscribed a support contract.
- 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
- Orthanc on Google Cloud to demonstrate how to use the Orthanc in an Google Cloud environment (using SQL Instance and Google Cloud Storage)
- Object-storage plugins performance tests to compare performance of VM SSDs vs object-storage plugins
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