diff --git a/docker/Orthanc/config/orthanc.json b/docker/Orthanc/config/orthanc.json new file mode 100644 index 000000000..2e10723c0 --- /dev/null +++ b/docker/Orthanc/config/orthanc.json @@ -0,0 +1,89 @@ +{ + "Name": "Orthanc inside Docker", + "StorageDirectory": "/var/lib/orthanc/db", + "IndexDirectory": "/var/lib/orthanc/db", + "StorageCompression": false, + "MaximumStorageSize": 0, + "MaximumPatientCount": 0, + "LuaScripts": [], + "Plugins": ["/usr/share/orthanc/plugins", "/usr/local/share/orthanc/plugins"], + "ConcurrentJobs": 2, + "HttpServerEnabled": true, + "HttpPort": 8042, + "HttpDescribeErrors": true, + "HttpCompressionEnabled": true, + "DicomServerEnabled": true, + "DicomAet": "ORTHANC", + "DicomCheckCalledAet": false, + "DicomPort": 4242, + "DefaultEncoding": "Latin1", + "DeflatedTransferSyntaxAccepted": true, + "JpegTransferSyntaxAccepted": true, + "Jpeg2000TransferSyntaxAccepted": true, + "JpegLosslessTransferSyntaxAccepted": true, + "JpipTransferSyntaxAccepted": true, + "Mpeg2TransferSyntaxAccepted": true, + "RleTransferSyntaxAccepted": true, + "UnknownSopClassAccepted": false, + "DicomScpTimeout": 30, + + "RemoteAccessAllowed": true, + "SslEnabled": false, + "SslCertificate": "certificate.pem", + "AuthenticationEnabled": false, + "RegisteredUsers": { + "test": "test" + }, + "DicomModalities": {}, + "DicomModalitiesInDatabase": false, + "DicomAlwaysAllowEcho": true, + "DicomAlwaysAllowStore": true, + "DicomCheckModalityHost": false, + "DicomScuTimeout": 10, + "OrthancPeers": {}, + "OrthancPeersInDatabase": false, + "HttpProxy": "", + + "HttpVerbose": true, + + "HttpTimeout": 10, + "HttpsVerifyPeers": true, + "HttpsCACertificates": "", + "UserMetadata": {}, + "UserContentType": {}, + "StableAge": 60, + "StrictAetComparison": false, + "StoreMD5ForAttachments": true, + "LimitFindResults": 0, + "LimitFindInstances": 0, + "LimitJobs": 10, + "LogExportedResources": false, + "KeepAlive": true, + "TcpNoDelay": true, + "HttpThreadsCount": 50, + "StoreDicom": true, + "DicomAssociationCloseDelay": 5, + "QueryRetrieveSize": 10, + "CaseSensitivePN": false, + "LoadPrivateDictionary": true, + "Dictionary": {}, + "SynchronousCMove": true, + "JobsHistorySize": 10, + "SaveJobs": true, + "OverwriteInstances": false, + "MediaArchiveSize": 1, + "StorageAccessOnFind": "Always", + "MetricsEnabled": true, + + "DicomWeb": { + "Enable": true, + "Root": "/dicom-web/", + "EnableWado": true, + "WadoRoot": "/wado", + "Host": "127.0.0.1", + "Ssl": false, + "StowMaxInstances": 10, + "StowMaxSize": 10, + "QidoCaseSensitive": false + } +} diff --git a/docker/Orthanc/docker-compose.yml b/docker/Orthanc/docker-compose.yml new file mode 100644 index 000000000..d11e1dfe9 --- /dev/null +++ b/docker/Orthanc/docker-compose.yml @@ -0,0 +1,15 @@ +# LINK: https://hub.docker.com/r/jodogne/orthanc-plugins/ +# TODO: Update to use Postgres +# https://github.com/mrts/docker-postgresql-multiple-databases +orthanc: + image: jodogne/orthanc-plugins:1.5.6 + hostname: orthanc + volumes: + # Config + - ./config/orthanc.json:/etc/orthanc/orthanc.json:ro + # Persist data + - ./volumes/orthanc-db/:/var/lib/orthanc/db/ + ports: + - '4242:4242' + - '8042:8042' + restart: unless-stopped diff --git a/docker/Orthanc/volumes/orthanc-db/.githold b/docker/Orthanc/volumes/orthanc-db/.githold new file mode 100644 index 000000000..e69de29bb diff --git a/package.json b/package.json index b453b038a..b7111965b 100644 --- a/package.json +++ b/package.json @@ -28,6 +28,8 @@ "start": "yarn run dev", "predeploy": "cd example && npm install && yarn run build:package", "preBuild": "yarn run version && yarn run copy:webworkers", + "orthanc:up": "docker-compose -f docker/Orthanc/docker-compose.yml up", + "orthanc:down": "docker-compose -f docker/Orthanc/docker-compose.yml down", "version": "node -p -e \"'export default \\'' + require('./package.json').version + '\\';'\" > src/version.js", "copy:webworkers": "cpx 'node_modules/cornerstone-wado-image-loader/dist/*.min.js*' public" },