This commit is contained in:
Masroor Ehsan 2025-01-26 23:18:11 +06:00
parent 0dbb93f3ab
commit 3472aef491
5 changed files with 39 additions and 19 deletions

6
.env
View File

@ -24,15 +24,15 @@ VIEWER_CONFIG=./config/ohif.js
# #
ORTHANC_CONFIG=./config/orthanc.json ORTHANC_CONFIG=./config/orthanc.json
ORTHANC_OHIF=./config/orthanc_ohif.js 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 # 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 PGDATA=/var/lib/postgresql/data
POSTGRES_DB=orthanc POSTGRES_DB=orthanc
POSTGRES_PORT=5432 POSTGRES_PORT=5432
POSTGRES_USER=postgres POSTGRES_USER=postgres
POSTGRES_PASSWORD=pgpassword POSTGRES_PASSWORD=password

View File

@ -16,7 +16,7 @@ server {
# https://book.orthanc-server.com/faq/nginx.html#nginx # https://book.orthanc-server.com/faq/nginx.html#nginx
location /orthanc/ { location /orthanc/ {
proxy_pass http://pacs:8042; proxy_pass http://orthanc:8042;
proxy_set_header HOST $host; proxy_set_header HOST $host;
proxy_set_header X-Real-IP $remote_addr; proxy_set_header X-Real-IP $remote_addr;
rewrite /orthanc(.*) $1 break; rewrite /orthanc(.*) $1 break;

View File

@ -1,5 +1,5 @@
{ {
"Name": "CHEVRON", "Name": "PixelBridge",
"StorageDirectory": "/var/lib/orthanc/db", "StorageDirectory": "/var/lib/orthanc/db",
"IndexDirectory": "/var/lib/orthanc/db", "IndexDirectory": "/var/lib/orthanc/db",
"StorageCompression": true, "StorageCompression": true,
@ -33,7 +33,7 @@
"WindowCenter", "WindowCenter",
"WindowWidth", "WindowWidth",
"PhotometricInterpretation", "PhotometricInterpretation",
"BFSenderID", "DicomSenderID",
"PixelRepresentation" "PixelRepresentation"
], ],
"Series": [ "Series": [
@ -65,7 +65,7 @@
"ConsultingPhysicianName", "ConsultingPhysicianName",
"ConsultingPhysicianIdentificationSequence", "ConsultingPhysicianIdentificationSequence",
"RequestingPhysician", "RequestingPhysician",
"BFSenderID", "DicomSenderID",
"StationName" "StationName"
], ],
"Patient": [ "Patient": [
@ -74,34 +74,45 @@
] ]
}, },
"ConcurrentJobs": 8, "ConcurrentJobs": 8,
"HttpServerEnabled": true, "HttpServerEnabled": true,
"OrthancExplorerEnabled": true, "OrthancExplorerEnabled": true,
"HttpPort": 8042, "HttpPort": 8042,
"HttpDescribeErrors": true, "HttpDescribeErrors": true,
"HttpCompressionEnabled": true, "HttpCompressionEnabled": true,
"WebDavEnabled": true, "WebDavEnabled": true,
"WebDavDeleteAllowed": false, "WebDavDeleteAllowed": false,
"WebDavUploadAllowed": true, "WebDavUploadAllowed": true,
"DicomServerEnabled": true, "DicomServerEnabled": true,
"DicomAet": "CHEVRON", "DicomAet": "BLACKFISH",
"DicomCheckCalledAet": true, "DicomCheckCalledAet": false,
"DicomPort": 4242, "DicomPort": 4242,
"DefaultEncoding": "Latin1", "DefaultEncoding": "Utf8",
"AcceptedTransferSyntaxes": [ "AcceptedTransferSyntaxes": [
"1.2.840.10008.1.*" "1.2.840.10008.1.*"
], ],
"DeflatedTransferSyntaxAccepted" : true,
"JpegTransferSyntaxAccepted" : true,
"Jpeg2000TransferSyntaxAccepted" : true,
"JpegLosslessTransferSyntaxAccepted" : true,
"JpipTransferSyntaxAccepted" : true,
"UnknownSopClassAccepted": false, "UnknownSopClassAccepted": false,
"DicomScpTimeout": 30, "DicomScpTimeout": 30,
"RemoteAccessAllowed": true, "RemoteAccessAllowed": true,
"SslEnabled": false, "SslEnabled": false,
"SslCertificate": "certificate.pem", "SslCertificate": "certificate.pem",
"SslMinimumProtocolVersion": 4, "SslMinimumProtocolVersion": 4,
"SslVerifyPeers": false, "SslVerifyPeers": false,
"SslTrustedClientCertificates": "trustedClientCertificates.pem", "SslTrustedClientCertificates": "trustedClientCertificates.pem",
"AuthenticationEnabled": false, "AuthenticationEnabled": false,
"RegisteredUsers": { "RegisteredUsers": {
"dicom": "letmein" "dicom": "letmein"
}, },
"DicomTlsEnabled": false, "DicomTlsEnabled": false,
"DicomTlsRemoteCertificateRequired": true, "DicomTlsRemoteCertificateRequired": true,
"DicomAlwaysAllowEcho": true, "DicomAlwaysAllowEcho": true,
@ -112,7 +123,7 @@
"DicomAlwaysAllowMove": false, "DicomAlwaysAllowMove": false,
"DicomCheckModalityHost": false, "DicomCheckModalityHost": false,
"DicomModalities": { "DicomModalities": {
// "MAPDRX" : [ "MAPDR", "127.0.0.1", 11112] // "sample" : [ "STORESCP", "127.0.0.1", 2000 ]
}, },
"DicomModalitiesInDatabase": false, "DicomModalitiesInDatabase": false,
"DicomEchoChecksFind": false, "DicomEchoChecksFind": false,
@ -121,11 +132,13 @@
"DicomThreadsCount": 4, "DicomThreadsCount": 4,
"OrthancPeers": {}, "OrthancPeers": {},
"OrthancPeersInDatabase": false, "OrthancPeersInDatabase": false,
"HttpProxy": "", "HttpProxy": "",
"HttpVerbose": false, "HttpVerbose": false,
"HttpTimeout": 60, "HttpTimeout": 60,
"HttpsVerifyPeers": true, "HttpsVerifyPeers": false,
"HttpsCACertificates": "/etc/ssl/certs/ca-certificates.crt", "HttpsCACertificates": "/etc/ssl/certs/ca-certificates.crt",
"UserMetadata": { "UserMetadata": {
// "Sample" : 1024 // "Sample" : 1024
}, },
@ -133,6 +146,7 @@
// "sample" : 1024 // "sample" : 1024
// "sample2" : [ 1025, "application/pdf" ] // "sample2" : [ 1025, "application/pdf" ]
}, },
"StableAge": 60, "StableAge": 60,
"StrictAetComparison": false, "StrictAetComparison": false,
"StoreMD5ForAttachments": true, "StoreMD5ForAttachments": true,
@ -149,7 +163,8 @@
"LoadPrivateDictionary": true, "LoadPrivateDictionary": true,
"Dictionary" : { "Dictionary" : {
"0011,1060" : [ "LO", "InnowaveUploaderID", 1, 1, "InowavePrivateGroup"], "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, "SynchronousCMove": true,
"JobsHistorySize": 10, "JobsHistorySize": 10,
@ -160,7 +175,7 @@
"MetricsEnabled": true, "MetricsEnabled": true,
"ExecuteLuaEnabled": false, "ExecuteLuaEnabled": false,
"HttpRequestTimeout": 30, "HttpRequestTimeout": 30,
"DefaultPrivateCreator": "", "DefaultPrivateCreator": "PixelBridge",
"StorageCommitmentReportsSize": 100, "StorageCommitmentReportsSize": 100,
"TranscodeDicomProtocol": true, "TranscodeDicomProtocol": true,
"BuiltinDecoderTranscoderOrder": "After", "BuiltinDecoderTranscoderOrder": "After",
@ -180,6 +195,7 @@
"W001_TagsBeingReadFromStorage": true, "W001_TagsBeingReadFromStorage": true,
"W002_InconsistentDicomTagsInDb": true "W002_InconsistentDicomTagsInDb": true
}, },
"StoneWebViewer": { "StoneWebViewer": {
/** /**
* Enables/disables the print button. * Enables/disables the print button.
@ -202,13 +218,13 @@
* containing a human-readable hierarchy of folders (as generated * containing a human-readable hierarchy of folders (as generated
* by the route "/studies/{id}/archive"). * by the route "/studies/{id}/archive").
**/ **/
"DownloadDicomDir": true, "DownloadDicomDir": false,
/** /**
* By setting option "InstitutionLogo" to an URL containing an * By setting option "InstitutionLogo" to an URL containing an
* image, this logo will be displayed at the bottom-left of the * image, this logo will be displayed at the bottom-left of the
* Stone Web viewer. * 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: * Whether to display the info panel at startup. Allowed values:
* "Always", "Never", "User". With "User", the user can decide to * "Always", "Never", "User". With "User", the user can decide to
@ -227,6 +243,7 @@
**/ **/
"ShowNotForDiagnosticUsageDisclaimer": false "ShowNotForDiagnosticUsageDisclaimer": false
}, },
"DicomWeb": { "DicomWeb": {
"Enable": true, "Enable": true,
"Root": "/dicom-web/", "Root": "/dicom-web/",
@ -245,10 +262,12 @@
"StudiesMetadata": "Full", "StudiesMetadata": "Full",
"SeriesMetadata": "Full" "SeriesMetadata": "Full"
}, },
"OrthancExplorer2": { "OrthancExplorer2": {
"Enable": true, "Enable": true,
"IsDefaultOrthancUI": true "IsDefaultOrthancUI": true
}, },
"PostgreSQL": { "PostgreSQL": {
"EnableIndex": true, "EnableIndex": true,
"EnableStorage": false, // DICOM files are stored in the Orthanc container in /var/lib/orthanc/db/ "EnableStorage": false, // DICOM files are stored in the Orthanc container in /var/lib/orthanc/db/
@ -256,6 +275,6 @@
"Port": 5432, "Port": 5432,
"Database": "orthanc", // default database name in PostgreSQL container (no need to create it) "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) "Username": "postgres", // default user name in PostgreSQL container (no need to create it)
"Password": "pgpassword" "Password": "password"
} }
} }

View File

@ -27,7 +27,7 @@ window.config = {
href: "/", href: "/",
style: { style: {
display: "block", display: "block",
background: "url(/logo.png)", background: "url(logo.png)",
backgroundSize: "contain", backgroundSize: "contain",
backgroundRepeat: "no-repeat", backgroundRepeat: "no-repeat",
width: "200px", width: "200px",

View File

@ -1,4 +1,5 @@
services: services:
postgres: postgres:
image: postgres image: postgres
container_name: postgres container_name: postgres
@ -12,7 +13,7 @@ services:
- PGDATA=${PGDATA} - PGDATA=${PGDATA}
- POSTGRES_DB=${POSTGRES_DB} - POSTGRES_DB=${POSTGRES_DB}
pacs: orthanc:
container_name: orthanc container_name: orthanc
image: jodogne/orthanc-plugins image: jodogne/orthanc-plugins
ports: ports: