From 3472aef49119dea5596ed6c63c68b0a586b25e5f Mon Sep 17 00:00:00 2001 From: Masroor Ehsan Date: Sun, 26 Jan 2025 23:18:11 +0600 Subject: [PATCH] wip --- .env | 6 +++--- config/nginx_ohif.conf | 2 +- config/orthanc.json | 45 ++++++++++++++++++++++++++++++------------ config/orthanc_ohif.js | 2 +- docker-compose.yml | 3 ++- 5 files changed, 39 insertions(+), 19 deletions(-) diff --git a/.env b/.env index 05362f2..3020474 100644 --- a/.env +++ b/.env @@ -24,15 +24,15 @@ VIEWER_CONFIG=./config/ohif.js # ORTHANC_CONFIG=./config/orthanc.json ORTHANC_OHIF=./config/orthanc_ohif.js -ORTHANC_DB_MNT=./orthanc_db +ORTHANC_DB_MNT=./volumes/orthanc_db # # PostgreSQL database - default values should not be used in production # -POSTGRES_DATA_MNT=./pg_sql +POSTGRES_DATA_MNT=./volumes/pg_data PGDATA=/var/lib/postgresql/data POSTGRES_DB=orthanc POSTGRES_PORT=5432 POSTGRES_USER=postgres -POSTGRES_PASSWORD=pgpassword \ No newline at end of file +POSTGRES_PASSWORD=password \ No newline at end of file diff --git a/config/nginx_ohif.conf b/config/nginx_ohif.conf index 1cc63a4..522e5d8 100644 --- a/config/nginx_ohif.conf +++ b/config/nginx_ohif.conf @@ -16,7 +16,7 @@ server { # https://book.orthanc-server.com/faq/nginx.html#nginx location /orthanc/ { - proxy_pass http://pacs:8042; + proxy_pass http://orthanc:8042; proxy_set_header HOST $host; proxy_set_header X-Real-IP $remote_addr; rewrite /orthanc(.*) $1 break; diff --git a/config/orthanc.json b/config/orthanc.json index aaff7ea..6a373d8 100644 --- a/config/orthanc.json +++ b/config/orthanc.json @@ -1,5 +1,5 @@ { - "Name": "CHEVRON", + "Name": "PixelBridge", "StorageDirectory": "/var/lib/orthanc/db", "IndexDirectory": "/var/lib/orthanc/db", "StorageCompression": true, @@ -33,7 +33,7 @@ "WindowCenter", "WindowWidth", "PhotometricInterpretation", - "BFSenderID", + "DicomSenderID", "PixelRepresentation" ], "Series": [ @@ -65,7 +65,7 @@ "ConsultingPhysicianName", "ConsultingPhysicianIdentificationSequence", "RequestingPhysician", - "BFSenderID", + "DicomSenderID", "StationName" ], "Patient": [ @@ -74,34 +74,45 @@ ] }, "ConcurrentJobs": 8, + "HttpServerEnabled": true, "OrthancExplorerEnabled": true, "HttpPort": 8042, "HttpDescribeErrors": true, "HttpCompressionEnabled": true, + "WebDavEnabled": true, "WebDavDeleteAllowed": false, "WebDavUploadAllowed": true, + "DicomServerEnabled": true, - "DicomAet": "CHEVRON", - "DicomCheckCalledAet": true, + "DicomAet": "BLACKFISH", + "DicomCheckCalledAet": false, "DicomPort": 4242, - "DefaultEncoding": "Latin1", + "DefaultEncoding": "Utf8", "AcceptedTransferSyntaxes": [ "1.2.840.10008.1.*" ], + "DeflatedTransferSyntaxAccepted" : true, + "JpegTransferSyntaxAccepted" : true, + "Jpeg2000TransferSyntaxAccepted" : true, + "JpegLosslessTransferSyntaxAccepted" : true, + "JpipTransferSyntaxAccepted" : true, "UnknownSopClassAccepted": false, "DicomScpTimeout": 30, + "RemoteAccessAllowed": true, "SslEnabled": false, "SslCertificate": "certificate.pem", "SslMinimumProtocolVersion": 4, "SslVerifyPeers": false, "SslTrustedClientCertificates": "trustedClientCertificates.pem", + "AuthenticationEnabled": false, "RegisteredUsers": { "dicom": "letmein" }, + "DicomTlsEnabled": false, "DicomTlsRemoteCertificateRequired": true, "DicomAlwaysAllowEcho": true, @@ -112,7 +123,7 @@ "DicomAlwaysAllowMove": false, "DicomCheckModalityHost": false, "DicomModalities": { - // "MAPDRX" : [ "MAPDR", "127.0.0.1", 11112] + // "sample" : [ "STORESCP", "127.0.0.1", 2000 ] }, "DicomModalitiesInDatabase": false, "DicomEchoChecksFind": false, @@ -121,11 +132,13 @@ "DicomThreadsCount": 4, "OrthancPeers": {}, "OrthancPeersInDatabase": false, + "HttpProxy": "", "HttpVerbose": false, "HttpTimeout": 60, - "HttpsVerifyPeers": true, + "HttpsVerifyPeers": false, "HttpsCACertificates": "/etc/ssl/certs/ca-certificates.crt", + "UserMetadata": { // "Sample" : 1024 }, @@ -133,6 +146,7 @@ // "sample" : 1024 // "sample2" : [ 1025, "application/pdf" ] }, + "StableAge": 60, "StrictAetComparison": false, "StoreMD5ForAttachments": true, @@ -149,7 +163,8 @@ "LoadPrivateDictionary": true, "Dictionary" : { "0011,1060" : [ "LO", "InnowaveUploaderID", 1, 1, "InowavePrivateGroup"], - "1971,1020" : [ "LO", "BFSenderID", 1, 1, "BlackFish"] + "1971,0010" : [ "CS", "PBSender", 1, 1, "PixelBridge"] + "1971,1001" : [ "LO", "DicomSenderID", 1, 1, "PixelBridge"] }, "SynchronousCMove": true, "JobsHistorySize": 10, @@ -160,7 +175,7 @@ "MetricsEnabled": true, "ExecuteLuaEnabled": false, "HttpRequestTimeout": 30, - "DefaultPrivateCreator": "", + "DefaultPrivateCreator": "PixelBridge", "StorageCommitmentReportsSize": 100, "TranscodeDicomProtocol": true, "BuiltinDecoderTranscoderOrder": "After", @@ -180,6 +195,7 @@ "W001_TagsBeingReadFromStorage": true, "W002_InconsistentDicomTagsInDb": true }, + "StoneWebViewer": { /** * Enables/disables the print button. @@ -202,13 +218,13 @@ * containing a human-readable hierarchy of folders (as generated * by the route "/studies/{id}/archive"). **/ - "DownloadDicomDir": true, + "DownloadDicomDir": false, /** * By setting option "InstitutionLogo" to an URL containing an * image, this logo will be displayed at the bottom-left of the * Stone Web viewer. **/ - "InstitutionLogo": "http://pacs.mylabctg.com:8042/stone-webviewer/img/orthanc.png", + "InstitutionLogo": "", /** * Whether to display the info panel at startup. Allowed values: * "Always", "Never", "User". With "User", the user can decide to @@ -227,6 +243,7 @@ **/ "ShowNotForDiagnosticUsageDisclaimer": false }, + "DicomWeb": { "Enable": true, "Root": "/dicom-web/", @@ -245,10 +262,12 @@ "StudiesMetadata": "Full", "SeriesMetadata": "Full" }, + "OrthancExplorer2": { "Enable": true, "IsDefaultOrthancUI": true }, + "PostgreSQL": { "EnableIndex": true, "EnableStorage": false, // DICOM files are stored in the Orthanc container in /var/lib/orthanc/db/ @@ -256,6 +275,6 @@ "Port": 5432, "Database": "orthanc", // 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": "pgpassword" + "Password": "password" } } \ No newline at end of file diff --git a/config/orthanc_ohif.js b/config/orthanc_ohif.js index 5f8ed19..422b0b2 100644 --- a/config/orthanc_ohif.js +++ b/config/orthanc_ohif.js @@ -27,7 +27,7 @@ window.config = { href: "/", style: { display: "block", - background: "url(/logo.png)", + background: "url(logo.png)", backgroundSize: "contain", backgroundRepeat: "no-repeat", width: "200px", diff --git a/docker-compose.yml b/docker-compose.yml index 98e9b83..2d91bfe 100644 --- a/docker-compose.yml +++ b/docker-compose.yml @@ -1,4 +1,5 @@ services: + postgres: image: postgres container_name: postgres @@ -12,7 +13,7 @@ services: - PGDATA=${PGDATA} - POSTGRES_DB=${POSTGRES_DB} - pacs: + orthanc: container_name: orthanc image: jodogne/orthanc-plugins ports: