OrthancのAmazon S3接続(MinIOエミュレーション)
検証環境
OS: Ubuntu20.04
Docker: 24.0.2
Docker Compose: v2.18.1(plugin)
OrthancのCloud Object Storage対応
公式ドキュメントによるとAWS S3,Azure Blob Storage,Google Cloudに対応しているとある。
準備
osimis/orthanc Docker Image
jodgne/orthancイメージには、Cloud Object Strage pluginが含まれないため、別途ソースからコンパイルするか、もう一つのDocker Image、「osimis/orthanc Docker Image」を使う必要がある。
コンパイルのハードルは高いので、osimis/orthancを使用することにした。
jodgne/orthancとの違いはpluginが自動で有効とはならず、有効・無効を環境変数や設定ファイルorthanc.json
で定義する必要がある点。
jodgne/orthancイメージで用いたorthanc.jsonはそのまま使える。
osimis-orthanc:
image: osimis/orthanc:22.6.1
container_name: orthanc-sv
ports:
- 50444:50444
- 18042:18042
volumes:
- ./orthanc_config/orthanc.json:/etc/orthanc/orthanc.json:ro
- ./orthanc_data:/var/lib/orthanc/data
- ./orthanc_export:/var/lib/orthanc/export
environment:
- STONE_WEB_VIEWER_PLUGIN_ENABLED=true
- TZ=Asia/Tokyo
depends_on:
postgresql:
condition: service_healthy
MinIO
公式ドキュメントにMinIOでのエミュレーションが紹介してあったので、試してみる。docker-compose.yml
に以下の内容を追加
minio:
image: minio/minio:latest
container_name: minio
command: -c "/opt/bin/minio server /export --address :9000 --console-address :9001"
entrypoint: sh
volumes:
- ./minio_data:/export
ports:
- 9000:9000
- 9001:9001
environment:
- MINIO_ROOT_USER=minio
- MINIO_ROOT_PASSWORD=password
orthanc.json
に以下の設定を入れる。
"AwsS3Storage" : {
"BucketName": "test-bucket",
"Region" : "ap-northeast-1",
"Endpoint": "http://minio:9000/",
"AccessKey": "minio",
"SecretKey": "password",
"VirtualAddressing" : false
},
MinIOの初期設定
MinIO管理画面http://your_host:9001/
にアクセスし、ID/passwordにはdocker-compose.ymlファイルに指定した環境変数MINIO_ROOT_USER/MINIO_ROOT_PASSWORDを入力しログインする。
左側メニューの「Buckets」を選択し、Bucket画面で「CreateBucket」を押下する
「Bucket Name」にorthanc.json
で指定した内容を設定し、「Create Bucket」を押下する
続いて、左側メニューの「Settings」を選択し、サブメニューの「Region」を選択する。
「Server Location」にorthanc.json
で指定した内容を設定し、「Save」を押下する
確認
Dockerコンテナを再起動し、DICOMをOrthancにアップロードした際、MinIO管理画面の「Object Browser」でファイルが確認できる。
Discussion