I am a newbie with docker files, but decided to try my hand at it I am trying to create an orthanc server using osimis/orthnac and postgres. I also want to add tls, but have not got that far yet.
I have been able to create a container that accepts images from one of my other orthanc servers. When I try to display the image using Stone Web Viewer, I get the small icons of the dicom files. When I try to drop the icons in the main viewer I do get the meta data of teh dicom file appearing in the window, but the dicom image does not appear. The little red box in the right lower hand corner remains red and does not turn green.
So far I have not found a way to debug this. I did try using ‘jodogne/orthanc-python’ instead of ‘osimis/orthanc’ wiith the result of the same symptoms. Any help would be appreciated.
Thank you
Greg Ennis
The details of the docker commands is below :
The container was created with docker-compose up --built
I modified the *.yml files from the sample files for docker found for postgres and stone-viewer
docker-compose.yml :
version: “2”
services:
first setup through configuration file and build step
orthanc:
build: orthanc
image: osimis/orthanc
depends_on: [orthanc-index]
restart: unless-stopped
ports: [“104:4242”, “8042:8042”]
volumes: [“orthanc-storage:/var/lib/orthanc/db:Z”]
environment:
VERBOSE_STARTUP: “true”
VERBOSE_ENABLED: “true”
you must enable the StoneViewer and the DicomWeb plugins
STONE_WEB_VIEWER_PLUGIN_ENABLED: “true”
DICOM_WEB_PLUGIN_ENABLED: “true”
ORTHANC__DICOM_WEB__SERIES_METADATA: “MainDicomTags”
ORTHANC__DICOM_WEB__STUDIES_METADATA: “MainDicomTags”
ORTHANC__EXTRA_MAIN_DICOM_TAGS: |
{
“Instance” : [
“Rows”,
“Columns”,
“ImageType”,
“SOPClassUID”,
“ContentDate”,
“ContentTime”,
“FrameOfReferenceUID”,
“PixelSpacing”,
“SpecificCharacterSet”,
“BitsAllocated”,
“BitsStored”,
“RescaleSlope”,
“RescaleIntercept”,
“SliceThickness”,
“WindowCenter”,
“WindowWidth”,
“PhotometricInterpretation”,
“PixelRepresentation”
],
“Series” : [
“TimezoneOffsetFromUTC”,
“PerformedProcedureStepStartDate”,
“PerformedProcedureStepStartTime”,
“RequestAttributesSequence”
],
“Study”: [
“TimezoneOffsetFromUTC”
],
“Patient”: []
}
StoneViewer configurations
ORTHANC__STONE_WEB_VIEWER__DATE_FORMAT: “MM/DD/YYYY”
ORTHANC__REGISTERED_USERS: |
{“demo”: “demo”}
orthanc-index:
image: postgres
restart: unless-stopped
ports: [“5432:5432”]
volumes: [“orthanc-index:/var/lib/postgresql/data:Z”]
environment:
POSTGRES_PASSWORD: “postgres”
Secod setup through enviromnt variables
orthanc-b:
image: osimis/orthanc
restart: unless-stopped
depends_on: [orthanc-index-b]
ports: [“81:8042”]
environment:
ORTHANC__POSTGRESQL__HOST: “orthanc-index-b”
ORTHANC__REGISTERED_USERS: |
{“demo”: “demo”}
orthanc-index-b:
image: postgres:14
restart: unless-stopped
environment:
POSTGRES_HOST_AUTH_METHOD: “trust”
volumes:
orthanc-storage:
orthanc-index:
In the orthanc sub directory :
Dockerfile :
FROM osimis/orthanc
COPY orthanc.json /etc/orthanc/
orthanc.json :
{
“Name”: “HmCd Docker Orthanc with Postgres”,
“StorageCompression” : false,
“StorageCompression” : false,
“Plugins” : [
“/usr/share/orthanc/plugins”, “/usr/local/share/orthanc/plugins”
],
“StorageAccessOnFind” : “Always”,
“BuiltinDecoderTranscoderOrder” : “After”,
“DicomAet”: “ORTHANC”,
“DicomModalities”: {
“bar”: [ “BAR”, “bar”, 104 ]
},
“RemoteAccessAllowed”: true,
“AuthenticationEnabled”: true,
“RegisteredUsers”: {
“demo”: “demo”
},
“PostgreSQL”: {
“EnableIndex”: true,
“EnableStorage”: false, // DICOM files are stored in the Orthanc container in /var/lib/orthanc/db/
“Host”: “orthanc-index”, // the name of the PostgreSQL container
“Database”: “postgres”, // default database name in PostgreSQL container (no need to create it)
“Username”: “postgres”, // default user name in PostgreSQL container (no need to create it)
“Password”: “postgres”
}
}