orthanc_docker

Ansible Роль для Orthanc в Docker

Статус сборки

Дерек Мерк
derek_merck@brown.edu
Больница Род-Айленда и Университет Брауна
Провиденс, Роуд-Айленд

Настройте и запустите Orthanc DICOM узел в Docker контейнере.

Зависимости

Роли Galaxy

Локальный Узел

  • Python Cryptography, если секреты паролей зашифрованы

Удаленный Узел

Переменные Роли

Docker Образ и Тег

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

Выберите образ и тег Orthanc.

  • jodogne/orthanc - официальный базовый Orthanc для Docker от Себастьяна Жодога.
  • jodogne/orthanc-plugins - официальный билд, поддерживающий PostgreSQL бэкенд (роль использует PostgreSQL 10 - старые версии имеют проблемы с установкой инструментов для 9.5).
  • osimis/orthanc - сторонний Osimis для Docker образ с отличным веб-просмотрщиком для просмотра и аннотирования.
  • derekmerck/orthanc - сторонний многоплатформенный (amd64, arm32v7, aarch64) новейший релиз Orthanc от DIANA. Он включает [GDCM][] для сжатия JPG на лету. Исходники и Dockerfile находятся на GitHub в проекте xarch-orthanc-docker.
  • derekmerck/orthanc-plugins - соответствующий многоплатформенный образ с поддержкой PostgreSQL бэкенда.

Конфигурация Docker Контейнера

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"

Конфигурация Сервиса

Настройте сервис. Эти переменные используются в шаблоне конфигурационного файла.

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

Дополнительные сложные элементы конфигурации, которые вставляются в orthanc.conf. Они должны следовать соответствующему формату (см. ниже)

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

Конфигурация Маршрутизации

Orthanc может быть настроен как маршрутизатор, включая словарь мест назначения (пир). Во время маршрутизации Orthanc может дополнительно анонимизировать и/или сжимать данные. См. роль derekmerck/queued-orthanc для примеров того, как построить более гибкую маршрутизацию с помощью службы "DIANA-Watcher".

orthanc_anonymize:          False
orthanc_compress:           False
orthanc_destinations:       [{dest: имя пира или модальности, type: пир или dicom}, ..]

Конфигурация PostgreSQL

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

Пример Плейбука

Запустите один экземпляр orthanc.

- hosts: dicom_node
  roles:
     - derekmerck.orthanc_docker

Запустите один экземпляр orthanc с несколькими дополнительными пользователями и пирами.

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

Примечание: В данный момент это работает только для паролей пользователей. Запустите один экземпляр orthanc с дополнительными пользователями и пирами, используя конфиденциальные пароли (шифрованные fernet).

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

Запустите несколько экземпляров с одним и тем же бэкендом для балансировки нагрузки.

- 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

Запустите мультиплексирующий форвардер с сжатием

- 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

Лицензия

MIT

О проекте

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

Установить
ansible-galaxy install derekmerck/ansible-orthanc-docker
Лицензия
Unknown
Загрузки
65
Владелец