How to use osimis/orthanc Docker images ?
Quickstart
To launch a bare Orthanc server that you can access from any host which can reach the Docker host over the network (on port 80 for HTTP and port 104 for DICOM).
docker run --publish=80:8042 --publish=104:4242 osimis/orthanc
Remarks:
- You might need to type
sudo
in front of every docker command if you are targeting a local Docker engine via a UDS (Unix Domain Socket) and don't have the appropriate permissions to the socket file.
- If you are running Docker for Windows or Mac and encounter
Error starting userland proxy error
, please see this.
To enable data persistence for the default SQLite-based Index and filesystem-based Storage backends, bind a Docker volume to /var/lib/orthanc/db
.
docker run --publish=80:8042 --publish=104:4242 --volume=/home/johndoe/orthanc-storage:/var/lib/orthanc/db osimis/orthanc
To use a plugin, simply define an environment variable to enable it. For example, to enable the Osimis WebViewer Basic plugin, define WVB_ENABLED=true
.
docker run --publish=80:8042 --publish=104:4242 --environment=WVB_ENABLED=true --volume=/home/johndoe/orthanc-storage:/var/lib/orthanc/db osimis/orthanc
For more complex configurations with many environment variables, we recommend using a docker-compose file.
The osimis/orthanc images come in two flavors:
- The osimis/orthanc image contains Orthanc and all its open-source plugins.
- The osimis/orthanc-pro image contains Orthanc, all its open-source plugins and additional commercial plugins (MSSQL, WebViewer Pro and Azure Storage) that require a license string to enable.
Orthanc setup samples
You'll find many samples using the osimis/orthanc images in this repository. Feel free to clone the repository and adapt the samples to your need.
- You can clone work on orthanc setup samples by following priority order:
- Basic Orthanc to demonstrate a very basic Orthanc setup.
- Orthanc peering (easy variant) to demonstrate Orthanc peering.
- Orthanc dicom-web to demonstrate Orthanc dicom-web connectivity.
- Orthanc basic DICOM association to demonstrate a simple DICOM association between Orthanc servers (and perform operations such as C-FIND, C-MOVE, C-STORE, C-ECHO).
- Orthanc + PostgreSQL to demonstrate how to use the Orthanc PostgreSQL plugin
- Orthanc + MySQL to demonstrate how to use the Orthanc MySQL plugin
- Orthanc + Transfers accelerator to demonstrate Transfers accelerator plugin.
- Orthanc basic HTTP authentication to demonstrate static, basic HTTP authentication.
- Sharing Orthanc configurations to demonstrate how to share configuration settings between multiple instance of Orthanc in the same Docker network.
- Some usefull docker command lines to explore orthanc setup samples:
docker-compose ps -a
docker ps -a
docker network ls
docker-compose down
docker container ps -a
docker network prune
For the dicom-web sample:
curl http://localhost/studies
curl http://localhost:81/studies
curl http://localhost:80/studies
curl http://localhost:80/dicom-web/servers/bar/stow -X POST -d @- << EOF
"Resources" : ["1b1cc0c9-c0377071-78e8cd3a-2e382948-a243db42"
{
]
}
EOF
- For the PostgreSQL (easy) sample:
- psql \dt
- psql -h localhost -p 5432 postgres
- docker container run --rm postgres pg_isready --host=5432
- psql -h localhost -p 5432 postgres
- psql -h localhost -p 5432 -U postgres
Configuration and Plugins
Typically, you want to tweak Orthanc using one or more configuration files and add plugins for Orthanc to load (and in turn configure the plugins). For this, create a new Docker image layer on top of osimis/orthanc
that adds your JSON configuration files in /etc/orthanc
and the desired plugins in /usr/share/orthanc/plugins
.
Many plugins are already available in the image in /usr/share/orthanc/plugins-disabled; simply move them into /usr/share/orthanc/plugins for Orthanc to load them or, better, define an environment variable to enable the plugin (i.e. PG_ENABLED
=true) and the plugin will be copied automatically into /usr/share/orthanc/plugins.
The Osimis Orthanc Bundle runs "Setup Procedures" before starting Orthanc in order to simplify this process. If you use a conventional filename for the configuration file of a supported plugin, the plugin will automatically be moved to the plugins
directory and loaded by Orthanc. See below for the filenames to use. Setup procedures also accept settings via environment variables to automatically create configuration files. If a supported plugin doesn't require a configuration file, you can still enable it automatically by using the corresponding *_ENABLED
environment variable. See below for the environment variable prefixes to use.
Example: Using the Postgres plugin for the Orthanc Index.
Default content of the image
If you launch the osimis/orthanc
image directly without adding your own configuration file and without defining any environment variable, Orthanc will start with these configuration files which slightly differs from Orthanc default configuration:
storage.json
Storage is configured to store files in /var/lib/orthanc/db
without any limitations. Very often you'll want to map that directory to a Docker volume.
http.json
The HTTP settings are configured to enable Orthanc to validate remote HTTPS certificates (to connect to remote Orthanc peers or DICOMweb servers over HTTPS).
remote-access.json
If Orthanc is running inside a container, it must be accessible from outside the container (as long as the HTTP port is published on the Docker host via the --publish
Docker command line argument).
plugins.json
Make sure to load plugins from the /usr/share/orthanc/plugins
directory. By default, this folder is empty (all plugins are in /usr/share/orthanc/plugins-disabled
directory).
Adding your own configuration
You'll probably want to fine tune Orthanc to your own needs. Thanks to setup procedures, you can either tune the configuration by providing your own configuration file or by defining environment variables.
Example: tuning the HTTP settings by providing your own configuration file
You shall add your own http.json
file in /etc/orthanc/
folder. It will simply replace the default file of the osimis/orthanc
image.
Example: tuning the HTTP settings by providing environment variable
Consider you want to change the HttpTimeout
setting but keep all default HTTP parameters; you might just define an environment variable either:
- by adding this line in your
Dockerfile
- by defining the environment variable in your
docker run
command.
- by defining the environment variable in a
docker-compose.yml
` file
Example: using the postgresql plugin by providing your own configuration file
If you provide a file named postgresql.json
, the plugin will be loaded automatically (it will be moved from the /usr/share/orthanc/plugins-disabled
folder to /usr/share/orthanc/plugins
folder) and it will use your configuration file.
Example: using the postgresql plugin by providing environment variables
You might also configure the postgresql plugin by defining environment variable in your Dockerfile
Example: using the osimis/orthanc images the old way
Before providing osimis/orthanc
images, Osimis has been providing osimis/orthanc-webviewer-plugin
images. People were used to copy a single big orthanc.json
file in /etc/orthanc
. We highly recommend using Orthanc default values as much as possible and providing only a few custom configurations in multiple small configuration files. However, for those who want to get back to the old behaviour, here's a sample Dockerfile:
Osimis Orthanc Bundle Setup Procedures
Before starting Orthanc, setup procedures may run to help more easily configure Orthanc and its plugins. Benefits include:
- No need to create an additional image layer in many cases.
- Straightforward configuration via a Docker compose file.
- Easy and consistent use of Docker secrets.
- Easy setup of plugins.
Access Control
Images | osimis/orthanc osimis/orthanc-pro |
---|---|
Configuration file name | remote-access.json |
Configuration file generated by default | Yes |
Bundle version | 18.6.0 and later |
Settings:
Environment variable name | Interpreted as | Default value | Orthanc setting | Comment |
---|---|---|---|---|
AC_ALLOW_REMOTE | JSON boolean | "true" | RemoteAccessAllowed | |
AC_AUTHENTICATION_ENABLED | JSON boolean | "true" | AuthenticationEnabled | Introduced in 19.9.1, default value is "true" since 19.10.2 |
AC_REGISTERED_USERS | JSON object | {} | RegisteredUsers | Introduced in 19.10.2. If you don't define any users, Orthanc will generate a default orthanc:orthanc user and display security warnings in the logs and in the Orthanc Explorer requesting you to configure another more secure user. This way, you're able to quick-start an orthanc without providing any configuration but you should of course configure this when using Orthanc in production. |
If you provide the remote-access.json
configuration file, it will be used. Otherwise, it will be generated on the fly at startup. You can override its default values using the environment variables described above.
See discussion on bundle defaults below to disable the generation of that file.
Authorization
Images | osimis/orthanc osimis/orthanc-pro |
---|---|
Configuration file name | authorization.json |
Plugin | libOrthancAuthorization |
Related samples | https://bitbucket.org/osimis/orthanc-setup-samples/src/master/docker/authorization-plugin/ |
Settings:
Environment variable name | Interpreted as | Default value | Orthanc setting | Comment |
---|---|---|---|---|
AUTHZ_WEBSERVICE | String | Mandatory | Authorization.WebService | http://book.orthanc-server.com/plugins/authorization.html |
AUTHZ_TOKEN_GET_ARGUMENTS | JSON Array | [] | Authorization.TokenGetArguments | http://book.orthanc-server.com/plugins/authorization.html |
AUTHZ_TOKEN_HTTP_HEADERS | JSON Array | [] | Authorization.TokenHttpHeaders | http://book.orthanc-server.com/plugins/authorization.html |
AUTHZ_UNCHECKED_RESOURCES | JSON Array | [] | Authorization.UncheckedResources | http://book.orthanc-server.com/plugins/authorization.html |
AUTHZ_UNCHECKED_FOLDERS | JSON Array | [] | Authorization.UncheckedFolders | http://book.orthanc-server.com/plugins/authorization.html |
AUTHZ_UNCHECKED_LEVELS | JSON Array | [] | Authorization.UncheckedLevels | |
AUTHZ_ENABLED | Boolean | false | Force-enable/disable plugin (see below). |
If you provide the authorization.json
configuration file, it will be used. Otherwise, you may specify one or multiple environment variables* and the configuration file will be generated on the fly at startup.
The plugin is enabled as soon as you provide a configuration file or one is generated.
*The AUTHZ_ENABLED
setting alone does not automatically trigger the generation of the configuration file. See discussion on bundle defaults below.
Azure Storage
Image | osimis/orthanc-pro |
---|---|
Configuration file name | azure-storage.json |
Plugin | libOrthancBlobStorage |
Settings:
Environment variable name | Interpreted as | Default value | Orthanc setting | Comment |
---|---|---|---|---|
AZSTOR_ACC_NAME | JSON string | Mandatory | BlobStorage.AccountName | |
AZSTOR_ACC_KEY | JSON string | Mandatory | BlobStorage.AccountKey | Not recommended, use Docker secret instead. |
AZSTOR_ACC_KEY_SECRET | String | "AZSTOR_ACC_KEY" | File name for the ACC_KEY Docker secret. | |
AZSTOR_CONTAINER | JSON string | Mandatory | BlobStorage.ContainerName | |
AZSTOR_LICENSE_STRING | JSON string | Mandatory | BlobStorage.LicenseString | Not recommended, use Docker secret instead. |
AZSTOR_LICENSE_STRING_SECRET | String | "AZSTOR_LICENSE_STRING" | File name for the LICENSE_STRING Docker secret. | |
AZSTOR_ENABLED * | Boolean | "false" | Force-enable/disable plugin (see below). |
Docker secrets:
Secret | Default expected file name | Corresponding environment variable |
---|---|---|
ACC_KEY | See AZSTOR_ACC_KEY_SECRET | AZSTOR_ACC_KEY |
LICENSE_STRING | See AZSTOR_LICENSE_STRING_SECRET | AZSTOR_LICENSE_STRING |
If you provide the azure-storage.json
configuration file, it will be used. Otherwise, you may specify one or multiple environment variables* and the configuration file will be generated on the fly at startup.
The plugin is enabled as soon as you provide a configuration file or one is generated.
When the configuration file is generated by the setup procedure, the BlobStorage.Enable
Orthanc setting is automatically set to true
.
*The AZSTOR_ENABLED
setting alone does not automatically trigger the generation of the configuration file. See discussion on bundle defaults below.
DICOM
Images | osimis/orthanc osimis/orthanc-pro |
---|---|
Configuration file name | dicom.json |
Related samples | https://bitbucket.org/osimis/orthanc-setup-samples/src/master/docker/dicom-association/ https://bitbucket.org/osimis/orthanc-setup-samples/src/master/docker/aet-check/ |
Settings:
Environment variable name | Interpreted as | Default value | Orthanc setting | Comment |
---|---|---|---|---|
DICOM_AET | JSON string | "ORTHANC" | DicomAet | http://book.orthanc-server.com/dicom-guide.html#configuring-orthanc |
DICOM_MODALITIES | JSON object | {} | DicomModalities | http://book.orthanc-server.com/dicom-guide.html#configuring-orthanc |
DICOM_PORT | JSON number | 4242 | DicomPort | |
DICOM_SCP_TIMEOUT | JSON number | 30 | DicomScpTimeout | |
DICOM_SCU_TIMEOUT | JSON number | 10 | DicomScuTimeout | |
DICOM_AET_CHECK_ENABLED | JSON boolean | "false" | DicomCheckCalledAet | |
DICOM_CHECK_MODALITY_HOST_ENABLED | JSON boolean | "false" | DicomCheckModalityHost | |
DICOM_STRICT_AET_COMPARISON_ENABLED | JSON boolean | "false" | StrictAetComparison | |
DICOM_ALWAYS_ALLOW_ECHO_ENABLED | JSON boolean | "true" | DicomAlwaysAllowEcho | |
DICOM_ALWAYS_ALLOW_STORE_ENABLED | JSON boolean | "true" | DicomAlwaysAllowStore | |
DICOM_UNKNOWN_SOP_CLASS_ACCEPTED | JSON boolean | "false" | UnknownSopClassAccepted | Introduced in 18.7.3 |
DICOM_SYNCHRONOUS_CMOVE | JSON boolean | "false" | SynchronousCMove | Introduced in 18.9.5. Default was changed from "false" to "true" in 18.11.0. Actual behavior was equivalent to synchronous C-MOVE set to "true" in Orthanc 1.3.2 and previous versions. For information: Upon introduction in Orthanc 1.4, synchronous C-MOVE was set to "false" by default but was later changed to "true". |
DICOM_QUERY_RETRIEVE_SIZE | JSON number | "100" | QueryRetrieveSize | Introduced in 20.3.0 |
DICOM_DICTIONARY | JSON object | {} | Dictionary | Introduced in 20.3.0 |
If you provide the dicom.json
configuration file, it will be used. Otherwise, you may specify one or multiple environment variables and the configuration file will be generated on the fly at startup.
DICOMweb
Images | osimis/orthanc osimis/orthanc-pro |
---|---|
Configuration file name | dicomweb.json |
Plugin | libOrthancDicomWeb |
Related samples | https://bitbucket.org/osimis/orthanc-setup-samples/src/master/docker/dicom-web/ |
Settings:
Environment variable name | Interpreted as | Default value | Orthanc setting | Comment |
---|---|---|---|---|
DW_ROOT | JSON string | "/dicom-web/" | DicomWeb.Root | http://book.orthanc-server.com/plugins/dicomweb.html |
DW_WADO_URI_ENABLED | JSON boolean | "true" | DicomWeb.EnableWado | http://book.orthanc-server.com/plugins/dicomweb.html |
DW_WADO_URI_ROOT | JSON string | "/wado" | DicomWeb.WadoRoot | http://book.orthanc-server.com/plugins/dicomweb.html |
DW_HOST | JSON string | "localhost" | DicomWeb.Host | http://book.orthanc-server.com/plugins/dicomweb.html |
DW_TLS | JSON boolean | "false" | DicomWeb.Ssl | http://book.orthanc-server.com/plugins/dicomweb.html |
DW_SERVERS | JSON object | {} | DicomWeb.Servers | |
DW_STOW_MAX_INSTANCES | JSON number | 10 | DicomWeb.StowMaxInstances | http://book.orthanc-server.com/plugins/dicomweb.html, introduced in version 18.1.5 |
DW_STOW_MAX_SIZE | JSON number | 10 | DicomWeb.StowMaxSize | http://book.orthanc-server.com/plugins/dicomweb.html, introduced in version 18.1.5 |
| Boolean | "false" | Force-enable/disable plugin (see below). |
If you provide the dicomweb.json
configuration file, it will be used. Otherwise, you may specify one or multiple environment variables* and the configuration file will be generated on the fly at startup.
The plugin is enabled as soon as you provide a configuration file or one is generated.
When the configuration file is generated by the setup procedure, the DicomWeb.Enable
Orthanc setting is automatically set to true
.
*The DW_ENABLED
setting alone does not automatically trigger the generation of the configuration file. See discussion on bundle defaults below.
General
Images | osimis/orthanc osimis/orthanc-pro |
---|---|
Configuration file name | orthanc.json |
Configuration file generated by default | Yes |
Related samples | https://bitbucket.org/osimis/orthanc-setup-samples/src/master/docker/basic/ |
Settings:
Environment variable name | Interpreted as | Default value | Orthanc setting | Comment |
---|---|---|---|---|
NAME | JSON string |
| Name | |
EXECUTE_LUA_ENABLED | Boolean |
| ExecuteLuaEnabled | Introduced in 19.10.2 |
STORAGE_ACCESS_ON_FIND | JSON string | "Always" | StorageAccessOnFind | Introduced in 20.3.0 |
If you provide the orthanc.json
configuration file, it will be used. Otherwise, you may specify one or multiple environment variables and the configuration file will be generated on the fly at startup.
Google Cloud Platform DICOM Store Exchange
Images | osimis/orthanc osimis/orthanc-pro |
---|---|
Version | 20.1.0 |
Configuration file name | gcp-dicom.json |
Plugin |
|
Dependencies | libOrthancDicomWeb |
Settings:
Environment variable name | Interpreted as | Default value | Orthanc setting | Comment |
---|---|---|---|---|
GCP_DICOM_ACCOUNTS | JSON object | Absent | GoogleCloudPlatform.Accounts | https://book.orthanc-server.com/plugins/google-cloud-platform.html |
| JSON string | Absent |
| https://book.orthanc-server.com/plugins/google-cloud-platform.html |
| JSON string | Absent | GoogleCloudPlatform.Accounts[0].Project | https://book.orthanc-server.com/plugins/google-cloud-platform.html |
| JSON string | Absent Mandatory if ACCOUNT_NAME is set | GoogleCloudPlatform.Accounts[0].Location | https://book.orthanc-server.com/plugins/google-cloud-platform.html |
| JSON string | Absent Mandatory if ACCOUNT_NAME is set | GoogleCloudPlatform.Accounts[0].Dataset | https://book.orthanc-server.com/plugins/google-cloud-platform.html |
| JSON string | Absent Mandatory if ACCOUNT_NAME is set | GoogleCloudPlatform.Accounts[0].DicomStore | https://book.orthanc-server.com/plugins/google-cloud-platform.html |
| JSON string | Absent** | GoogleCloudPlatform.Accounts[0].ServiceAccountFile | https://book.orthanc-server.com/plugins/google-cloud-platform.html |
| JSON string | Absent** | GoogleCloudPlatform.Accounts[0].AuthorizedUserFile | https://book.orthanc-server.com/plugins/google-cloud-platform.html |
| JSON string | Absent** | GoogleCloudPlatform.Accounts[0].AuthorizedUserClientId | https://book.orthanc-server.com/plugins/google-cloud-platform.html |
| JSON string | Absent Mandatory if AUTHORIZED_USER_CLIENT_ID is set | GoogleCloudPlatform.Accounts[0].AuthorizedUserClientSecret | https://book.orthanc-server.com/plugins/google-cloud-platform.html |
| String | "AUTHORIZED_USER_CLIENT_SECRET" | File name for the | |
| JSON string | Absent Mandatory if AUTHORIZED_USER_CLIENT_ID is set | GoogleCloudPlatform.Accounts[0].RefreshToken | https://book.orthanc-server.com/plugins/google-cloud-platform.html |
| String | "AUTHORIZED_USER_REFRESH_TOKEN" | File name for the AUTHORIZED_USER_REFRESH_TOKEN Docker secret | |
| JSON string | "https://healthcare.googleapis.com/v1beta1/" | GoogleCloudPlatform.BaseUrl | https://book.orthanc-server.com/plugins/google-cloud-platform.html |
GCP_DICOM_ENABLED* | Boolean | "false" | Force-enable/disable plugin (see below). |
If you provide the gcp-dicom.json
configuration file, it will be used. Otherwise, you may specify one or multiple environment variables* and the configuration file will be generated on the fly at startup.
The plugin is enabled as soon as you provide a configuration file or one is generated.
*The GCP_DICOM_ENABLED
setting alone does not automatically trigger the generation of the configuration file. See discussion on bundle defaults below.
GCP_DICOM_ACCOUNTS
cannot be used with any other settings with the exception of GCP_DICOM_BASE_URL
and GCP_DICOM_ENABLED
. Beware that if you need to configure multiple GCP accounts, you need to use GCP_DICOM_ACCOUNTS
.
**When GCP_DICOM_ACCOUNT_NAME
is set, exactly one of GCP_DICOM_AUTHORIZED_SERVICE_ACCOUNT_FILE
, GCP_DICOM_AUTHORIZED_USER_FILE
or GCP_DICOM_AUTHORIZED_USER_CLIENT_ID
must be set.
The Orthanc DICOMweb plugin must be enabled explicitly.
Notice: This plugin allows queries and transfers to and from GCP DICOM stores, it does not use a GCP DICOM store as a storage backend for Orthanc.
Important: It is recommended to set HTTP_CL_VERIFY_PEERS
to true
. This is the default bundle configuration value, and the relevant bundle setup procedure (HTTP) generates the relevant configuration file by default as well, meaning that unless you disable the automatic generation with HTTP_BUNDLE_DEFAULTS
set to false
or if you don't set HTTP_CL_VERIFY_PEERS
explicitly, you have nothing to do.
HTTP
Images | osimis/orthanc osimis/orthanc-pro |
---|---|
Configuration file name | http.json |
Configuration file generated by default | Yes |
Related samples | https://bitbucket.org/osimis/orthanc-setup-samples/src/master/docker/full-tls/ |
Settings:
Environment variable name | Interpreted as | Default value | Orthanc setting | Comment |
---|---|---|---|---|
HTTP_CL_TIMEOUT | JSON number | "0" | HttpTimeout | |
HTTP_CL_VERIFY_PEERS | JSON boolean | "true" | HttpsVerifyPeers | |
HTTP_CL_PROXY | JSON string | "" | HttpProxy | |
HTTP_CL_CA_CERTS | JSON string | "/etc/ssl/certs/ca-certificates.crt" | HttpsCACertificates | |
HTTP_PORT | JSON number | "8042" | HttpPort | |
HTTP_KEEP_ALIVE | JSON boolean | "true" | KeepAlive | Should be set to "false" in Orthanc <= 1.5.1 |
HTTP_TCP_NODELAY | JSON boolean | "true" | TcpNoDelay | Introduced in Orthanc 1.5.2 |
HTTP_REQUEST_TIMEOUT | JSON number | "30" | HttpRequestTimeout | Introduced in Orthanc 1.5.8 |
If you provide the http.json
configuration file, it will be used. Otherwise, it will be generated on the fly at startup. You can override its default values using the environment variables described above.
See discussion on bundle defaults below to disable the generation of that file.
Import
Images |
|
---|---|
Configuration file name | import.json |
Version | 18.9.4+ |
Settings:
Environment variable name | Interpreted as | Default value | Orthanc setting | Comment |
---|---|---|---|---|
IMPORT_OVERWRITE_INSTANCES | JSON boolean | "false" | OverwriteInstances | https://bitbucket.org/sjodogne/orthanc/src/Orthanc-1.4.2/NEWS |
Listener
Images | osimis/orthanc osimis/orthanc-pro |
---|---|
Configuration file name | listener.json |
Settings:
Environment variable name | Interpreted as | Default value | Orthanc setting | Comment |
---|---|---|---|---|
LISTENER_LISTEN_ALL_ADDR | JSON boolean | "true" | RemoteAccessAllowed | Deprecated (since 18.6.0). This setting never had an impact on which network address interfaces Orthanc would bind to, and as of Orthanc 1.3.2 it is impossible to configure this. This setting might be recommended again if the necessary changes are applied upstream and leveraged in the setup procedure. |
If you provide the listener.json
configuration file, it will be used. Otherwise, it will be generated on the fly at startup. You can override its default values using the environment variables described above.
See discussion on bundle defaults below to disable the generation of that file.
Incompatible with Access Control. May be made compatible in the future if LISTENER_LISTEN_ALL_ADDR
is fixed or removed.
Locale
Images | osimis/orthanc osimis/orthanc-pro |
---|---|
Configuration file name | locale.json |
Settings:
Environment variable name | Interpreted as | Default value | Orthanc setting | Comment |
---|---|---|---|---|
LOCALE | JSON string | "en_US.UTF-8" | Locale | If you don't set this explicitly, Orthanc will use the system locale by default. |
If you provide the locale.json
configuration file, it will be used. Otherwise, you may specify one or multiple environment variables and the configuration file will be generated on the fly at startup.
Lua
Images | osimis/orthanc osimis/orthanc-pro |
---|---|
Configuration file name | lua.json |
Configuration file generated by default | No |
Related samples | - |
Settings:
Environment variable name | Interpreted as | Default value | Orthanc setting | Comment |
---|---|---|---|---|
LUA_SCRIPTS | JSON list | [] | LuaScripts | You need to escape the quotes. i.e: LUA_SCRIPTS="[\"/etc/orthanc/sample.lua\"]" |
LUA_OPTIONS | JSON object | {} | LuaOptions | Introduced in version 20.3.0. This is not Orthanc specific but is a workaround to be able to pass variables to Lua scripts. Example of use: Dockerfile FROM osimis/orthanc:20.3.0 ENV LUA_SCRIPTS="[\"/etc/orthanc/send_study.lua\"]" ENV LUA_OPTIONS="{\"send-study\":{\"connector-service\":\"http:\/\/hub-connector-service\"}}" COPY send_study.lua /etc/orthanc/send_study.lua send_study.lua local config = GetOrthancConfiguration() local connectorService = config["LuaOptions"]["send-study"]["connector-service"] |
This variable was introduced in version 18.9.1.
If you provide the lua.json
configuration file, it will be used. Otherwise, you may specify one or multiple environment variables and the configuration file will be generated on the fly at startup.
Microsoft SQL Server
Image | osimis/orthanc-pro |
---|---|
Configuration file name | mssql.json |
Plugin | libOrthancMsSqlIndex |
Settings:
Environment variable name | Interpreted as | Default value | Orthanc setting | Comment |
---|---|---|---|---|
MSSQL_CONNECTION_STRING | JSON string | Mandatory | MSSQL.ConnectionString | Not recommended, use Docker secret instead. |
MSSQL_CONNECTION_STRING_SECRET | String | "MSSQL_CONNECTION_STRING" | File name for the CONNECTION_STRING Docker secret. | |
MSSQL_LICENSE_STRING | JSON string | Mandatory | MSSQL.LicenseString | Not recommended, use Docker secret instead. |
MSSQL_LICENSE_STRING_SECRET | String | "MSSQL_LICENSE_STRING" | File name for the LICENSE_STRING Docker secret. | |
MSSQL_LOCK | JSON boolean | "false" | MSSQL.Lock | |
MSSQL_MAXIMUM_CONNECTION_RETRIES | JSON number | "10" | MSSQL.MaximumConnectionRetries | Number of retries when connecting to the DB at startup |
MSSQL_CONNECTION_RETRY_INTERVAL | JSON number | "5" | MSSQL.ConnectionRetryInterval | Interval between retries when connecting to the DB at startup |
MSSQL_ENABLED * | Boolean | "false" | Force-enable/disable plugin (see below). |
Docker secrets:
Secret | Default expected file name | Corresponding environment variable |
---|---|---|
CONNECTION_STRING | See MSSQL_CONNECTION_STRING_SECRET | MSSQL_CONNECTION_STRING |
LICENSE_STRING | See MSSQL_LICENSE_STRING_SECRET | MSSQL_LICENSE_STRING |
If you provide the mssql.json
configuration file, it will be used. Otherwise, you may specify one or multiple environment variables* and the configuration file will be generated on the fly at startup.
The plugin is enabled as soon as you provide a configuration file or one is generated.
When the configuration file is generated by the setup procedure, the MSSQL.EnableIndex
Orthanc setting is automatically set to true
, and the MSSQL.EnableStorage
Orthanc setting is automatically set to false
.
*The MSSQL_ENABLED
setting alone does not automatically trigger the generation of the configuration file. See discussion on bundle defaults below.
MySQL
This plugin and settings have been introduced in version 18.7.2
Images | osimis/orthanc osimis/orthanc-pro |
---|---|
Configuration file name | mysql.json |
Plugins |
|
Related samples | https://bitbucket.org/osimis/orthanc-setup-samples/src/master/docker/mysql-easy/ |
Settings:
Environment variable name | Interpreted as | Default value | Orthanc setting | Comment |
---|---|---|---|---|
MYSQL_INDEX_ENABLED* | JSON boolean | "true" | MySQL.EnableIndex | http://book.orthanc-server.com/plugins/mysql.html Force-enable/disable index plugin. Takes precedence over MYSQL_ENABLED . |
| JSON boolean | "false" |
| http://book.orthanc-server.com/plugins/mysql.html |
| JSON string | Mandatory |
| http://book.orthanc-server.com/plugins/mysql.html |
| JSON number | "3306" |
| http://book.orthanc-server.com/plugins/mysql.html |
| JSON string | "mysql" |
| http://book.orthanc-server.com/plugins/mysql.html |
| JSON string | "root" |
| http://book.orthanc-server.com/plugins/mysql.html |
| JSON string | Absent |
| http://book.orthanc-server.com/plugins/mysql.html Not recommended, use Docker secret instead. When left unspecified, the |
| String | "MYSQL_PASSWORD" | File name for the PASSWORD Docker secret. | |
| JSON boolean | "false" |
| http://book.orthanc-server.com/plugins/mysql.html |
| Boolean | "false" | Force-enable/disable plugins (see below). |
Docker secrets:
Secret | Default expected file name | Corresponding environment variable |
---|---|---|
| See
| MYSQL_PASSWORD |
If you provide the mysql.json
configuration file, it will be used. Otherwise, you may specify one or multiple environment variables* and the configuration file will be generated on the fly at startup.
The plugin is enabled as soon as you provide a configuration file or one is generated.
*The MYSQL_ENABLED
, MYSQL
_INDEX_ENABLED
and MYSQL
_STORAGE_ENABLED
settings alone do not automatically trigger the generation of the configuration file. See discussion on bundle defaults below.
Orthanc Web Viewer
Images | osimis/orthanc osimis/orthanc-pro |
---|---|
Plugin | libOrthancWebViewer |
Settings:
Environment variable name | Interpreted as | Default value | Comment |
---|---|---|---|
OWV_ENABLED | Boolean | "false" | Enable plugin. |
Osimis Web Viewer
Images | osimis/orthanc osimis/orthanc-pro |
---|---|
Configuration file name | osimis-webviewer.json |
Plugin |
|
Settings:
Environment variable name | Interpreted as | Default value | Orthanc setting | Comment |
---|---|---|---|---|
WVB_ANNOTATIONS_STORAGE_ENABLED | JSON boolean | "false" | WebViewer.AnnotationStorageEnabled | see WebViewer configuration file documentation |
WVB_COMBINED_TOOL_ENABLED | JSON boolean | "false" | WebViewer.CombinedToolEnabled | see WebViewer configuration file documentation |
WVB_CROSS_HAIR_ENABLED | JSON boolean | "true" | WebViewer.CrossHairEnabled | Introduced in version 19.9.3 |
WVB_DEFAULT_LANGUAGE | JSON string | "en" | WebViewer.DefaultLanguage | see WebViewer configuration file documentation |
WVB_DEFAULT_SELECTED_TOOL | JSON string | "zoom" | WebViewer.DefaultSelectedTool | see WebViewer configuration file documentation |
WVB_DOWNLOAD_AS_JPEG_ENABLED | JSON boolean | "false" | WebViewer.DownloadAsJpegEnabled | Introduced in version 19.6.3. |
WVB_INSTANCE_INFO_CACHE_ENABLED | JSON boolean | "false" | WebViewer.InstanceInfoCacheEnabled | Introduced in version 19.11.1 see WebViewer configuration file documentation |
WVB_KEY_IMAGE_CAPTURE_ENABLED | JSON boolean | "false" | WebViewer.KeyImageCaptureEnabled | see WebViewer configuration file documentation, introduced in version 18.1.3 |
WVB_KEYBOARD_SHORTCUTS_ENABLED | JSON boolean | "false" | WebViewer.KeyboardShortcutsEnabled | Introduced in version 18.3.5. |
WVB_OPEN_ALL_PATIENT_STUDIES | JSON boolean | "true" | WebViewer.OpenAllPatientStudies | see WebViewer configuration file documentation |
WVB_PRINT_ENABLED | JSON boolean | "false" | WebViewer.PrintEnabled | Introduced in version 19.6.3 |
WVB_REFERENCE_LINES_ENABLED | JSON boolean | "true" | WebViewer.ReferenceLinesEnabled | Introduced in version 19.9.3 |
WVB_SERIES_TO_IGNORE | JSON object | {} | WebViewer.SeriesToIgnore | Introduced in version 19.2.0 |
WVB_STUDY_DOWNLOAD_ENABLED | JSON boolean | "true" | WebViewer.StudyDownloadEnabled | see WebViewer configuration file documentation |
WVB_SYNCHRONIZED_BROWSING_ENABLED | JSON boolean | "true" | WebViewer.SynchronizedBrowsingEnabled | Introduced in version 19.9.3 |
WVB_TOGGLE_OVERLAY_TEXT_BUTTON_ENABLED | JSON boolean | "false" | WebViewer.ToggleOverlayTextButtonEnabled | see WebViewer configuration file documentation |
WVB_VIDEO_ENABLED | JSON boolean | "true" | WebViewer.VideoDisplayEnabled | see WebViewer configuration file documentation |
WVB_ALPHA_ENABLED * | Boolean | "false" | Use libOsimisWebViewerAlpha plugin instead of libOsimisWebViewer plugin. Implies WVB_ENABLED . | |
WVB_ENABLED * | Boolean | "false" | Force-enable/disable plugin (see below). |
If you provide the osimis-webviewer.json
configuration file, it will be used. Otherwise, you may specify one or multiple environment variables* and the configuration file will be generated on the fly at startup.
The plugin is enabled as soon as you provide a configuration file or one is generated.
Incompatible with Osimis Web Viewer Pro.
*The WVB_ENABLED
and WVB_ALPHA_ENABLED
settings alone do not automatically trigger the generation of the configuration file. See discussion on bundle defaults below.
Osimis Web Viewer Pro
Image | osimis/orthanc |
---|---|
Configuration file name | osimis-webviewer-pro.json |
Plugins | libOsimisWebViewerPro libOsimisWebViewerProAlpha (see WVP_ALPHA_ENABLED setting) |
Related samples | https://bitbucket.org/osimis/orthanc-setup-samples/src/master/docker/webviewer-pro+liveshare/ |
Settings:
Environment variable name | Interpreted as | Default value | Orthanc setting | Comment |
---|---|---|---|---|
WVP_ANNOTATIONS_STORAGE_ENABLED | JSON boolean | "false" | WebViewer.AnnotationStorageEnabled | see WebViewer configuration file documentation |
WVP_COMBINED_TOOL_ENABLED | JSON boolean | "false" | WebViewer.CombinedToolEnabled | see WebViewer configuration file documentation |
WVP_CROSS_HAIR_ENABLED | JSON boolean | "true" | WebViewer.CrossHairEnabled | Introduced in version 19.9.3 |
WVP_DEFAULT_LANGUAGE | JSON string | "en" | WebViewer.DefaultLanguage | see WebViewer configuration file documentation |
WVP_DEFAULT_SELECTED_TOOL | JSON string | "zoom" | WebViewer.DefaultSelectedTool | see WebViewer configuration file documentation |
WVP_DOWNLOAD_AS_JPEG_ENABLED | JSON boolean | "false" | WebViewer.DownloadAsJpegEnabled | Introduced in version 19.6.3. |
WVP_INSTANCE_INFO_CACHE_ENABLED | JSON boolean | "false" | WebViewer.InstanceInfoCacheEnabled | Introduced in version 19.11.1 see WebViewer configuration file documentation |
WVP_KEY_IMAGE_CAPTURE_ENABLED | JSON boolean | "false" | WebViewer.KeyImageCaptureEnabled | see WebViewer configuration file documentation, introduced in version 18.1.3 |
WVP_KEYBOARD_SHORTCUTS_ENABLED | JSON boolean | "false" | WebViewer.KeyboardShortcutsEnabled | Introduced in version 18.3.5. |
WVP_OPEN_ALL_PATIENT_STUDIES | JSON boolean | "true" | WebViewer.OpenAllPatientStudies | see WebViewer configuration file documentation |
WVP_PRINT_ENABLED | JSON boolean | "false" | WebViewer.PrintEnabled | Introduced in version 19.6.3 |
WVP_REFERENCE_LINES_ENABLED | JSON boolean | "true" | WebViewer.ReferenceLinesEnabled | Introduced in version 19.9.3 |
WVP_SERIES_TO_IGNORE | JSON object | {} | WebViewer.SeriesToIgnore | Introduced in version 19.2.0 |
WVP_STUDY_DOWNLOAD_ENABLED | JSON boolean | "true" | WebViewer.StudyDownloadEnabled | see WebViewer configuration file documentation |
WVP_SYNCHRONIZED_BROWSING_ENABLED | JSON boolean | "true" | WebViewer.SynchronizedBrowsingEnabled | Introduced in version 19.9.3 |
WVP_TOGGLE_OVERLAY_TEXT_BUTTON_ENABLED | JSON boolean | "false" | WebViewer.ToggleOverlayTextButtonEnabled | see WebViewer configuration file documentation |
WVP_VIDEO_ENABLED | JSON boolean | "true" | WebViewer.VideoDisplayEnabled | see WebViewer configuration file documentation |
WVP_LIVESHARE_ENABLED | JSON boolean | "false" | WebViewer.LiveshareEnabled | see WebViewer configuration file documentation |
WVP_LICENSE_STRING | JSON string | Mandatory | WebViewer.LicenseString | Not recommended, use Docker secret instead. |
WVP_LICENSE_STRING_SECRET | String | "WVP_LICENSE_STRING" | File name for the LICENSE_STRING Docker secret. | |
WVP_ALPHA_ENABLED * | Boolean | "false" | Use libOsimisWebViewerProAlpha plugin instead of libOsimisWebViewerPro plugin. Implies WVP_ENABLED . | |
WVP_ENABLED * | Boolean | "false" | Force-enable/disable plugin (see below). |
Docker secrets:
Secret | Default expected file name | Corresponding environment variable |
---|---|---|
LICENSE_STRING | See WVP_LICENSE_STRING_SECRET | WVP_LICENSE_STRING |
If you provide the osimis-webviewer-pro.json
configuration file, it will be used. Otherwise, you may specify one or multiple environment variables* and the configuration file will be generated on the fly at startup.
The plugin is enabled as soon as you provide a configuration file or one is generated.
Incompatible with Osimis Web Viewer.
*The WVP_ENABLED
and WVP_ALPHA_ENABLED
settings alone do not automatically trigger the generation of the configuration file. See discussion on bundle defaults below.
Peering
Images | osimis/orthanc osimis/orthanc-pro |
---|---|
Configuration file name |
|
Related samples | https://bitbucket.org/osimis/orthanc-setup-samples/src/master/docker/peering-easy/ https://bitbucket.org/osimis/orthanc-setup-samples/src/master/docker/peering/ |
Settings:
Environment variable name | Interpreted as | Default value | Orthanc setting | Comment |
---|---|---|---|---|
PEERS | JSON Object | {} | OrthancPeers | http://book.orthanc-server.com/faq/features.html#peers |
If you provide the peering.json
configuration file, it will be used. Otherwise, you may specify one or multiple environment variables and the configuration file will be generated on the fly at startup.
PostgreSQL
Images | osimis/orthanc osimis/orthanc-pro |
---|---|
Configuration file name | postgresql.json |
Plugins |
|
Related samples | https://bitbucket.org/osimis/orthanc-setup-samples/src/master/docker/postgresql-easy/ https://bitbucket.org/osimis/orthanc-setup-samples/src/master/docker/postgresql/ |
Settings:
Environment variable name | Interpreted as | Default value | Orthanc setting | Comment |
---|---|---|---|---|
PG_INDEX_ENABLED* | JSON boolean | "true" | PostgreSQL.EnableIndex | http://book.orthanc-server.com/plugins/postgresql.html Force-enable/disable index plugin. Takes precedence over PG_ENABLED . |
PG_STORAGE_ENABLED* | JSON boolean | "false" | PostgreSQL.EnableStorage | http://book.orthanc-server.com/plugins/postgresql.html |
PG_HOST | JSON string | Mandatory | PostgreSQL.Host | http://book.orthanc-server.com/plugins/postgresql.html |
PG_PORT | JSON number | "5432" | PostgreSQL.Port | http://book.orthanc-server.com/plugins/postgresql.html |
PG_DB | JSON string | "postgres" | PostgreSQL.Database | http://book.orthanc-server.com/plugins/postgresql.html |
PG_USER | JSON string | "postgres" | PostgreSQL.Username | http://book.orthanc-server.com/plugins/postgresql.html |
PG_PASSWORD | JSON string | Absent | PostgreSQL.Password | http://book.orthanc-server.com/plugins/postgresql.html Not recommended, use Docker secret instead. When left unspecified, the |
PG_PASSWORD_SECRET | String | "PG_PASSWORD" | File name for the PASSWORD Docker secret. | |
PG_SSL | JSON boolean | "false" | PostgreSQL.EnableSsl | http://book.orthanc-server.com/plugins/postgresql.html |
PG_LOCK | JSON boolean | "false" | PostgreSQL.Lock | http://book.orthanc-server.com/plugins/postgresql.html |
PG_ENABLED* | Boolean | "false" | Force-enable/disable plugins (see below). |
Docker secrets:
Secret | Default expected file name | Corresponding environment variable |
---|---|---|
| See PG_PASSWORD_SECRET | PG_PASSWORD |
If you provide the postgresql.json
configuration file, it will be used. Otherwise, you may specify one or multiple environment variables* and the configuration file will be generated on the fly at startup.
The plugin is enabled as soon as you provide a configuration file or one is generated.
*The PG_ENABLED
, PG_INDEX_ENABLED
and PG_STORAGE_ENABLED
settings alone do not automatically trigger the generation of the configuration file. See discussion on bundle defaults below.
Plugins
Images | osimis/orthanc osimis/orthanc-pro |
---|---|
Configuration file name | plugins.json |
Configuration file generated by default | Yes |
Settings:
Environment variable name | Interpreted as | Default value | Orthanc setting | Comment |
---|---|---|---|---|
PLUGINS_DIR | JSON string | "/usr/share/orthanc/plugins" | Plugins |
If you provide the plugins.json
configuration file, it will be used. Otherwise, it will be generated on the fly at startup. You can override its default values using the environment variables described above.
See discussion on bundle defaults below to disable the generation of that file.
Resource Stability
Images | osimis/orthanc osimis/orthanc-pro |
---|---|
Configuration file name | resource-stability.json |
Settings:
Environment variable name | Interpreted as | Default value | Orthanc setting | |
---|---|---|---|---|
STABLE_AGE | JSON number | "60" | StableAge |
If you provide the resource-stability.json
configuration file, it will be used. Otherwise, you may specify one or multiple environment variables and the configuration file will be generated on the fly at startup.
Scheduler
Images | osimis/orthanc osimis/orthanc-pro |
---|---|
Configuration file name | scheduler.json |
Settings:
Environment variable name | Interpreted as | Default value | Orthanc setting | Comment |
---|---|---|---|---|
SCHED_MAX_JOBS | JSON number | "10" | LimitJobs | Deprecated alias for SCHED_MAX_QUEUED_JOBS . |
SCHED_MAX_QUEUED_JOBS | JSON number | "10" | LimitJobs | Introduced in version 20.3.0 |
SCHED_MAX_CONCURRENT_JOBS | JSON number | "2" | ConcurrentJobs | Introduced in version 20.3.0 |
SCHED_SAVE_JOBS | JSON Boolean | "true" | SaveJobs | |
SCHED_JOBS_HISTORY_SIZE | JSON number | "10" | JobsHistorySize | Introduced in version 20.3.0 |
If you provide the scheduler.json
configuration file, it will be used. Otherwise, you may specify one or multiple environment variables and the configuration file will be generated on the fly at startup.
Serve Folders
Images | osimis/orthanc osimis/orthanc-pro |
---|---|
Configuration file name | serve-folders.json |
Plugin | libServeFolders |
Related samples | https://bitbucket.org/osimis/orthanc-setup-samples/src/master/docker/serve-folders/ |
Settings:
Environment variable name | Interpreted as | Default value | Orthanc setting | Comment |
---|---|---|---|---|
SERVEFOLDERS_ALLOW_CACHE | JSON boolean | "false" | ServeFolders.AllowCache | http://book.orthanc-server.com/plugins/serve-folders.html |
SERVEFOLDERS_GENERATE_ETAGS | JSON boolean | "true" | ServeFolders.GenerateETag | http://book.orthanc-server.com/plugins/serve-folders.html |
SERVEFOLDERS_EXTENSIONS | JSON object | {} | ServeFolders.Extensions | http://book.orthanc-server.com/plugins/serve-folders.html |
SERVEFOLDERS_FOLDERS | JSON object | {} | ServeFolders.Folders | http://book.orthanc-server.com/plugins/serve-folders.html |
SERVEFOLDERS_ENABLED | Boolean | "false" | Force-enable/disable plugin (see below). |
If you provide the serve-folders.json
configuration file, it will be used. Otherwise, you may specify one or multiple environment variables* and the configuration file will be generated on the fly at startup.
The plugin is enabled as soon as you provide a configuration file or one is generated.
*The SERVEFOLDERS_ENABLED
setting alone does not automatically trigger the generation of the configuration file. See discussion on bundle defaults below.
Storage
Images | osimis/orthanc osimis/orthanc-pro |
---|---|
Configuration file name | storage.json |
Configuration file generated by default | Yes |
Related samples | https://bitbucket.org/osimis/orthanc-setup-samples/src/master/docker/alt-storage-dir/ |
Settings:
Environment variable name | Interpreted as | Default value | Orthanc setting | Comment |
---|---|---|---|---|
STORAGE_DIR | JSON string | "/var/lib/orthanc/db" | StorageDirectory | Orthanc sets IndexDirectory to the value of StorageDirectory if the former is not set. |
STORAGE_MAX_SIZE | JSON number | "0" | MaximumStorageSize | |
STORAGE_MAX_PATIENTS | JSON number | "0" | MaximumPatientCount | |
STORE_DICOM | JSON boolean | "true" | StoreDicom |
If you provide the storage.json
configuration file, it will be used. Otherwise, it will be generated on the fly at startup. You can override its default values using the environment variables described above.
See discussion on bundle defaults below to disable the generation of that file.
Transfers accelerator
Images | osimis/orthanc osimis/orthanc-pro |
---|---|
Configuration file name | transfers.json |
Plugin | libOrthancTransfers |
Related samples | https://bitbucket.org/osimis/orthanc-setup-samples/src/master/docker/transfers-accelerator/ |
Settings:
Environment variable name | Interpreted as | Default value | Orthanc setting | Comment |
---|---|---|---|---|
| JSON number | 0 |
| http://book.orthanc-server.com/plugins/transfers.html |
| JSON number | 6 |
| http://book.orthanc-server.com/plugins/transfers.html |
TRANSFERS_BUCKET_SIZE | JSON number | 4096 | Transfers.BucketSize | Introduced in 20.3.0 |
TRANSFERS_CACHE_SIZE | JSON number | 128 | Transfers.CacheSize | Introduced in 20.3.0 |
TRANSFERS_MAX_PUSH_TRANSACTIONS | JSON number | 4 | Transfers.MaxPushTransactions | Introduced in 20.3.0 |
| Boolean | "false" | Force-enable/disable plugin (see below). |
If you provide the transfers
.json
configuration file, it will be used. Otherwise, you may specify one or multiple environment variables* and the configuration file will be generated on the fly at startup.
The plugin is enabled as soon as you provide a configuration file or one is generated.
*The
setting alone does not automatically trigger the generation of the configuration file. See discussion on bundle defaults below.TRANSFERS_ENABLED
User metadata
Images | osimis/orthanc osimis/orthanc-pro |
---|---|
Configuration file name | usermetadata.json |
Settings:
Environment variable name | Interpreted as | Default value | Orthanc setting | Comment |
---|---|---|---|---|
| JSON object | {} | UserMetadata | http://book.orthanc-server.com/faq/features.html#user-defined-metadata |
If you provide the usermetadata
.json
configuration file, it will be used. Otherwise, you may specify the USERMETADATA environment variable and the configuration file will be generated on the fly at startup.
Worklists
Images | osimis/orthanc osimis/orthanc-pro |
---|---|
Configuration file name | worklists.json |
Plugin | libModalityWorklists |
Settings:
Environment variable name | Interpreted as | Default value | Orthanc setting | Comment |
---|---|---|---|---|
| JSON string | "/var/lib/orthanc/worklists" | Worklists.Database | http://book.orthanc-server.com/plugins/worklists-plugin.html |
WL_ENABLED* | Boolean | "false" | Force-enable/disable plugin (see below). |
If you provide the worklists.json
configuration file, it will be used. Otherwise, you may specify one or multiple environment variables* and the configuration file will be generated on the fly at startup.
The plugin is enabled as soon as you provide a configuration file or one is generated.
When the configuration file is generated by the setup procedure, the Worklists.Enable
Orthanc setting is automatically set to true
.
*The WL_ENABLED
setting alone does not automatically trigger the generation of the configuration file. See discussion on bundle defaults below.
Whole-Slide Imaging
Images | osimis/orthanc osimis/orthanc-pro |
---|---|
Plugin | libOrthancWSI |
Settings:
Environment variables | Interpreted as | Default value | Orthanc setting | Comment |
---|---|---|---|---|
WSI_ENABLED | Boolean | "false" | Enable plugin. |
Incompatible with Whole-Slide Imaging (experimental).
Whole-Slide Imaging (experimental)
Images | osimis/orthanc osimis/orthanc-pro |
---|---|
Plugin | libOrthancWSI x |
Settings:
Environment variables | Interpreted as | Default value | Orthanc setting | Comment |
---|---|---|---|---|
WSIX_ENABLED | Boolean | "false" | Enable plugin. |
Incompatible with Whole-Slide Imaging.
Verbose Mode
To run Orthanc in verbose mode (--verbose
command-line switch), set the VERBOSE_ENABLED
environment variable to true
.
To run Orthanc in trace mode (--trace
command-line switch), set the TRACE_ENABLED
environment variable to true
.
Other command line options
To run Orthanc with the --unlock
command-line switch to unlock a locked database, set the UNLOCK
environment variable to true
.
To run Orthanc with the --no-jobs
command-line switch to prevent Orthanc from reloading the saved jobs, set the NO_JOBS
environment variable to true
.
Bundle Defaults
If you want a setup procedure to generate its configuration file with the bundle defaults without specifying any setting via environment variables, you may set the special {PREFIX}_BUNDLE_DEFAULTS
environment variable to true
. Otherwise when no configuration file is generated then Orthanc and relevant plugins will use their own default values.
It is important to note that plugins managed by a setup procedure are often automatically enabled (moved to /usr/share/orthanc/plugins
) whenever the configuration file for that setup procedure is successfully generated. This means that you usually don't have to set {PREFIX}_ENABLED
when you set {PREFIX}_BUNDLE_DEFAULTS
.
Conversely, if a setup procedure is set to generate its configuration file by default, you can disable that behavior by setting {PREFIX}_BUNDLE_DEFAULTS
to false
, thus ensuring the defaults of Orthanc and relevant plugins are used instead. This is not recommended as there is usually a good reason why the bundle forces a specific configuration by default different than that of Orthanc and its plugins, and usually pertains to the environment (i.e. useful or necessary because it is running in a container).
Configuration File Generation
If any part of the generation of a configuration file fails for whatever reason (e.g. a mandatory setting was not provided) then the file will simply not be written out and any corresponding plugins managed by the setup procedure will not be enabled automatically (but will still be loaded if enabled via the {PREFIX}_ENABLED
environment variable explicitly and will thus use their own defaults).
Docker Secrets
Every setting containing sensitive information can typically be defined as a Docker secret instead of an environment variable. Internally, the value for that setting will be read from the Docker secret file using the expected file name (always configurable with a corresponding *_SECRET
environment variable and which defaults to the same name as the corresponding environment variable itself) and used identically to the corresponding environment variable.
This is always preferred, as environment variables often leak in log outputs, debug environment captures or are inadvertently propagated to child processes or third-party plugins which may leak them in various other ways.
Network connectivity when using Docker for Windows
You may encounter the following error when using Docker for Windows.
C:\Program Files\Docker\Docker\Resources\bin\docker.exe: Error response from daemon: driver failed programming external connectivity on endpoint objective_hermann (...): Error starting userland proxy: mkdir /port/tcp:0.0.0.0:8044:tcp:172.17.0.2:8042: input/output error.
First, try again with an elevated prompt (run cmd.exe or Powershell in administrator mode). If might still happen, though. The cause of this error is unclear, but launching a simple Hello World docker with:
docker run -p 8080:8080 hello-world
triggered a dialog box asking whether to authorize network access for the vpnkit application. After accepting it, it became possible to launch the Orthanc image with standard ports. Weird thing is, you may not choose any available port. Some do work and some do not. Advice or information regarding this error message would be much appreciated.