derekmerck.orthanc_docker

Ansible-Rolle für Orthanc in Docker

Build-Status

Derek Merck
derek_merck@brown.edu
Rhode Island Hospital und Brown University
Providence, RI

Konfigurieren und Ausführen eines Orthanc DICOM-Knotens in einem Docker-Container.

Abhängigkeiten

Galaxy Rollen

Lokaler Knoten

  • Python-Kryptographie, falls Passwort-Geheimnisse verschlüsselt sind

Entfernter Knoten

Rollenvariablen

Docker-Image und Tag

orthanc_docker_image:       "jodogne/orthanc"
orthanc_docker_image_tag:   "latest"

Wählen Sie ein Orthanc-Image und einen Tag.

  • jodogne/orthanc ist das offizielle Vanilla Orthanc für Docker-Build, das von Sébastien Jodogne gepflegt wird.
  • jodogne/orthanc-plugins ist das offizielle Build, das das PostgreSQL-Backend unterstützt (die Rolle verwendet PostgreSQL 10 – trusty hat ein Problem mit der Installation von Tools für 9.5).
  • osimis/orthanc ist ein drittanbieter Osimis für Docker-Spin mit einem ausgezeichneten Webviewer zur Überprüfung und Annotation.
  • derekmerck/orthanc ist ein drittanbieter Multi-Architektur (amd64, arm32v7, aarch64) bleeding-edge Release-Spin von Orthanc aus DIANA. Es enthält [GDCM][] für die JPG-Kompression im laufenden Betrieb. Quelle und Dockerfiles sind auf GitHub im xarch-orthanc-docker-Projekt.
  • derekmerck/orthanc-plugins ist der entsprechende Multi-Architektur-Spin mit Unterstützung für das PostgreSQL-Backend.

Docker-Container-Konfiguration

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"

Dienstkonfiguration

Konfigurieren Sie den Dienst. Diese Variablen werden in der Vorlagenkonfigurationsdatei verwendet.

orthanc_title:              "Orthanc"
orthanc_aet:                "ORTHANC"
orthanc_user:               "orthanc"
orthanc_password:           "passw0rd!"

Zusätzliche komplexe Konfigurationselemente, die in orthanc.conf eingefügt werden. Sie müssen das entsprechende Format einhalten (siehe unten).

orthanc_users:              {}
orthanc_peers:              {}
orthanc_modalities:         {}

Routing-Konfiguration

Orthanc kann als Router konfiguriert werden, indem ein Wörterbuch von Zielen (Peer) eingeschlossen wird. Beim Routing kann Orthanc optional die Daten anonymisieren und/oder komprimieren. Siehe die Rolle derekmerck/queued-orthanc für Beispiele, wie man flexiblere Routen mit einem "DIANA-Watcher"-Dienst erstellt.

orthanc_anonymize:          False
orthanc_compress:           False
orthanc_destinations:       [{dest: peer oder Modalitätsname, type: peer oder dicom}, ..]

PostgreSQL-Konfiguration

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

Beispiel-Playbook

Führen Sie eine einzelne Orthanc-Instanz aus.

- hosts: dicom_node
  roles:
     - derekmerck.orthanc_docker

Führen Sie eine einzelne Orthanc-Instanz mit einigen zusätzlichen Benutzern und Peers aus.

- 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 ]

Hinweis: Dies funktioniert derzeit nur für Benutzerpasswörter. Führen Sie eine einzelne Orthanc-Instanz mit zusätzlichen Benutzern und Peers aus, die vertrauliche Passwörter verwenden (fernet-kodiert).

- hosts: dicom_node
  vars:
    fernet_key: 't8YHZXpNvk_OFPkvyWc2rDWUxp7qXY6tiHr10f_PG3Y='
  roles:
    - name: derekmerck.orthanc_docker
      orthanc_users:
        user1: "gAAAAABbcFt-3M4t288flnG2xY88xKPx4U1l1phZtv4hDpnjNx3Mq8s9MnY74dY6Ab35qp6voKAVGJ9BMT8wlthPY4COk16sIg=="        
        user2: "gAAAAABbcFrtnhBWtrEC8QXvqByYsyEEqNKC2mP2joN4rcK58RNZIdKqMLErq-Lki6NhPSvpv_Y7fkYJRuaM4Gbt0QFFYZtZmQ=="
      orthanc_peers:
        my_peer:       [ "http://127.0.0.1:8043/", "user1", "gAAAAABbcFt-3M4t288flnG2xY88xKPx4U1l1phZtv4hDpnjNx3Mq8s9MnY74dY6Ab35qp6voKAVGJ9BMT8wlthPY4COk16sIg==" ]
        my_other_peer: [ "http://127.0.0.1:8043/", "user2", "gAAAAABbcFrtnhBWtrEC8QXvqByYsyEEqNKC2mP2joN4rcK58RNZIdKqMLErq-Lki6NhPSvpv_Y7fkYJRuaM4Gbt0QFFYZtZmQ==" ]

Führen Sie mehrere Instanzen gegen dasselbe Backend für Lastenausgleich aus.

- hosts: dicom_node
  tasks:
  - include_role:
      name: derekmerck.orthanc_docker
    vars:
      # Unabhängige Variablen
      orthanc_api_port:        "804{{ item }}"
      orthanc_dicom_port:      "424{{ item }}"
      
      # Geteilte Variablen
      orthanc_data_dir:        "/data/orthanc"
      orthanc_docker_image:    "jodogne/orthanc-plugins"
      orthanc_pg_backend:      True
      orthanc_db_name:         "orthanc"
    with_sequence: count=5

Führen Sie einen multiplexierenden Forwarder mit Kompression aus.

- 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

Lizenz

MIT

Über das Projekt

Configure and run an [Orthanc](https://www.orthanc-server.com) DICOM node in a Docker container

Installieren
ansible-galaxy install derekmerck.orthanc_docker
GitHub Repository
Lizenz
Unknown
Downloads
79
Besitzer