derekmerck.orthanc_docker

Ansible 角色用于 Docker 中的 Orthanc

构建状态

德里克·梅克
derek_merck@brown.edu
罗德岛医院和布朗大学
普罗维登斯,RI

配置和运行一个 Orthanc DICOM 节点在 Docker 容器中。

依赖项

Galaxy 角色

本地节点

  • Python 加密库,如果密码秘密被加密

远程节点

角色变量

Docker 镜像和标签

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

选择一个 Orthanc 镜像和标签。

  • jodogne/orthanc 是官方的标准 Orthanc for Docker 构建,由 Sébastien Jodogne 维护。
  • jodogne/orthanc-plugins 是官方支持 PostgreSQL 后端的构建(角色使用 PostgreSQL 10 -- trusty 对安装 9.5 的工具有问题)。
  • osimis/orthanc 是第三方的 Osimis for Docker 版本,提供优秀的网页查看和注释功能。
  • derekmerck/orthanc 是来自 DIANA 的第三方多架构(amd64, arm32v7, aarch64)前沿版 Orthanc。它包含 [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: peer  modality 名称, type: peer  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 ]

注意:目前仅适用于用户密码。 使用机密密码(Fernet 编码)运行带有附加用户和对等体的单个 Orthanc 实例。

- 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.orthanc_docker
许可证
Unknown
下载
79
拥有者