derekmerck.orthanc_docker
Ansible Role for Orthanc in Docker
This Ansible role helps you set up and run an Orthanc DICOM node using Docker.
Author
Derek Merck
Email: derek_merck@brown.edu
Affiliation: Rhode Island Hospital and Brown University, Providence, RI
Features
- Easily configure and start Orthanc in a Docker container.
Requirements
Galaxy Roles
- geerlingguy.docker: To set up the Docker environment.
- geerlingguy.pip: To install Python packages.
- derekmerck.postgres-docker: For setting up a PostgreSQL backend, if needed.
Local Node
- Python Cryptography (required if password secrets are encrypted).
Remote Node
Configuration Variables
Docker Image and Tag
In your playbook, set the Orthanc Docker image and tag like this:
orthanc_docker_image: "jodogne/orthanc"
orthanc_docker_image_tag: "latest"
You can choose from various official and third-party Orthanc images.
Docker Container Details
You can configure the Docker container's parameters as follows:
orthanc_container_name: "orthanc"
orthanc_use_data_container: True
orthanc_data_dir: "/data/{{ orthanc_container_name }}"
orthanc_config_dir: "/config/{{ orthanc_container_name }}"
orthanc_api_port: 8042
orthanc_dicom_port: 4242
orthanc_container_timezone: "America/New_York"
Service Settings
Set the Orthanc service parameters:
orthanc_title: "Orthanc"
orthanc_aet: "ORTHANC"
orthanc_user: "orthanc"
orthanc_password: "passw0rd!"
You can also define additional configuration items as needed:
orthanc_users: {}
orthanc_peers: {}
orthanc_modalities: {}
Routing Options
You can set up Orthanc to route DICOM data:
orthanc_anonymize: False
orthanc_compress: False
orthanc_destinations: [{dest: "peer name", type: "peer or dicom"}, ...]
PostgreSQL Settings
If you are using PostgreSQL, configure it as follows:
orthanc_pg_backend: False
orthanc_pg_user: "{{ orthanc_user }}"
orthanc_pg_password: "{{ orthanc_password }}"
orthanc_pg_database: "{{ orthanc_container_name }}"
orthanc_pg_host: "postgres"
orthanc_pg_port: 5432
Example Playbooks
- Run a single Orthanc instance:
- hosts: dicom_node
roles:
- derekmerck.orthanc_docker
- Run Orthanc with additional users and peers:
- hosts: dicom_node
roles:
- name: derekmerck.orthanc_docker
orthanc_users:
user1: password
user2: passw0rd!
orthanc_peers:
my_peer: [ "http://127.0.0.1:8043/", "user1", "password" ]
my_other_peer: [ "http://127.0.0.1:8043/", "user2", "passwOrd!"]
orthanc_modalities:
my_pacs: ["MY_PACS", "192.168.1.1", 104]
my_workstation: ["MY_WORKSTATION", "192.168.1.2", 104]
- Run multiple instances for load balancing:
- hosts: dicom_node
tasks:
- include_role:
name: derekmerck.orthanc_docker
vars:
orthanc_api_port: "804{{ item }}"
orthanc_dicom_port: "424{{ item }}"
orthanc_data_dir: "/data/orthanc"
orthanc_docker_image: "jodogne/orthanc-plugins"
orthanc_pg_backend: True
orthanc_db_name: "orthanc"
with_sequence: count=5
- Run a forwarder with compression:
- hosts: dicom_node
roles:
- name: derekmerck.orthanc_docker
orthanc_peers:
my_peer: [ "http://127.0.0.1:8043/", "user1", "password" ]
orthanc_modalities:
my_workstation: ["MY_WORKSTATION", "192.168.1.2", 104]
orthanc_destinations:
- dest: my_peer
type: peer
- dest: my_workstation
type: dicom
orthanc_compression: True
License
This role is open-source and is released under the MIT License.
Informazioni sul progetto
Configure and run an [Orthanc](https://www.orthanc-server.com) DICOM node in a Docker container
Installa
ansible-galaxy install derekmerck.orthanc_docker
Licenza
Unknown
Download
79
Proprietario