# HG changeset patch # User Alain Mazy # Date 1706796588 -3600 # Node ID 5d4701d8fe28e9d398d2544767b6b5c86f7814c1 # Parent 2969cbebbc911431f58fe685c64997b22bef4087 replaced osimis/orthanc by orthancteam/orthanc diff -r 2969cbebbc91 -r 5d4701d8fe28 Sphinx/source/faq/licensing.rst --- a/Sphinx/source/faq/licensing.rst Wed Jan 31 14:01:57 2024 +0100 +++ b/Sphinx/source/faq/licensing.rst Thu Feb 01 15:09:48 2024 +0100 @@ -157,9 +157,6 @@ software license and distribute it with source code in a GPL-compliant way."* -* If you deal with medical applications in Europe, note that Osimis - sells **CE-approved** versions of a Web viewer plugin. - * You are kindly invited to cite the `reference paper about Orthanc `__ in your scientific work. diff -r 2969cbebbc91 -r 5d4701d8fe28 Sphinx/source/faq/log.rst --- a/Sphinx/source/faq/log.rst Wed Jan 31 14:01:57 2024 +0100 +++ b/Sphinx/source/faq/log.rst Thu Feb 01 15:09:48 2024 +0100 @@ -106,7 +106,7 @@ Under Docker ^^^^^^^^^^^^ -With ``osimis/orthanc`` images, simply define the ``VERBOSE_ENABLED`` environment +With ``orthancteam/orthanc`` images, simply define the ``VERBOSE_ENABLED`` environment variable to ``true`` when starting your container and then, run this command to retrieve the logs in a file:: diff -r 2969cbebbc91 -r 5d4701d8fe28 Sphinx/source/faq/scalability.rst --- a/Sphinx/source/faq/scalability.rst Wed Jan 31 14:01:57 2024 +0100 +++ b/Sphinx/source/faq/scalability.rst Thu Feb 01 15:09:48 2024 +0100 @@ -223,7 +223,7 @@ release 1.6.1** (cf. `changeset `__). -* The ``osimis/orthanc`` images automatically set +* The ``orthancteam/orthanc`` images automatically set ``MALLOC_ARENA_MAX`` to ``5`` **since release 20.12.2**. diff -r 2969cbebbc91 -r 5d4701d8fe28 Sphinx/source/integrations/integrate-horos-using-dicom.rst --- a/Sphinx/source/integrations/integrate-horos-using-dicom.rst Wed Jan 31 14:01:57 2024 +0100 +++ b/Sphinx/source/integrations/integrate-horos-using-dicom.rst Thu Feb 01 15:09:48 2024 +0100 @@ -27,22 +27,3 @@ } } - -Configuration of Docker images by Osimis ----------------------------------------- - -This section applies if you are using the `Docker images by Osimis -`__ -to run Orthanc. - -Add Modality through Environmental variable in docker:: - - DICOM_MODALITIES= - { - "Horos": ["Horos", "192.168.253.53", 11112] - } - -If using Orthanc in a docker container, map the Orthanc DICOM Port. Eg in docker-compose file:: - - ports: - - "4242:4242" diff -r 2969cbebbc91 -r 5d4701d8fe28 Sphinx/source/integrations/integrate-osirix-using-dicomweb.rst --- a/Sphinx/source/integrations/integrate-osirix-using-dicomweb.rst Wed Jan 31 14:01:57 2024 +0100 +++ b/Sphinx/source/integrations/integrate-osirix-using-dicomweb.rst Thu Feb 01 15:09:48 2024 +0100 @@ -43,10 +43,10 @@ -Configuration of Docker images by Osimis +Configuration of Docker images by Orthanc Team ---------------------------------------- -This section applies if you are using the :ref:`osimis/orthanc Docker imag ` +This section applies if you are using the :ref:`orthancteam/orthanc Docker imag ` to run Orthanc. Make sure Orthanc has the Dicom Web protocol enabled:: diff -r 2969cbebbc91 -r 5d4701d8fe28 Sphinx/source/plugins/authorization.rst --- a/Sphinx/source/plugins/authorization.rst Wed Jan 31 14:01:57 2024 +0100 +++ b/Sphinx/source/plugins/authorization.rst Thu Feb 01 15:09:48 2024 +0100 @@ -32,7 +32,7 @@ Binaries are included in: -- The `osimis/orthanc Docker image `__ +- The `orthancteam/orthanc Docker image `__ - The `Windows Installer `__ - The `MacOS packages `__ diff -r 2969cbebbc91 -r 5d4701d8fe28 Sphinx/source/plugins/google-cloud-platform.rst --- a/Sphinx/source/plugins/google-cloud-platform.rst Wed Jan 31 14:01:57 2024 +0100 +++ b/Sphinx/source/plugins/google-cloud-platform.rst Thu Feb 01 15:09:48 2024 +0100 @@ -43,17 +43,8 @@ Pre-compiled binaries --------------------- -This plugin is used to interface Orthanc with a commercial and -proprietary cloud service that you accept to pay. As a consequence, -the Orthanc project doesn't freely provide pre-compiled binaries for -Docker, Windows, Linux or OS X. These pre-compiled binaries do exist, -but are reserved to the companies who have subscribed to a -`professional support contract -`__ by -Osimis. Although you are obviously free to compile this plugin by -yourself (instructions are given below), purchasing such support -contracts makes the Orthanc project sustainable in the long term, to -the benefit of the worldwide community of medical imaging. +As of today, there are no known distribution of pre-compiled binaries +for this plugin. Compilation diff -r 2969cbebbc91 -r 5d4701d8fe28 Sphinx/source/plugins/indexer.rst --- a/Sphinx/source/plugins/indexer.rst Wed Jan 31 14:01:57 2024 +0100 +++ b/Sphinx/source/plugins/indexer.rst Thu Feb 01 15:09:48 2024 +0100 @@ -49,7 +49,7 @@ and `macOS `__ available as well. Furthermore, the :ref:`Docker images ` -``jodogne/orthanc-plugins`` and ``osimis/orthanc`` also contain the +``jodogne/orthanc-plugins`` and ``orthancteam/orthanc`` also contain the plugin. diff -r 2969cbebbc91 -r 5d4701d8fe28 Sphinx/source/plugins/object-storage.rst --- a/Sphinx/source/plugins/object-storage.rst Wed Jan 31 14:01:57 2024 +0100 +++ b/Sphinx/source/plugins/object-storage.rst Thu Feb 01 15:09:48 2024 +0100 @@ -29,7 +29,7 @@ Pre-compiled binaries --------------------- -These 3 plugins are provided as part of the ``osimis/orthanc`` :ref:`Docker images `. +These 3 plugins are provided as part of the ``orthancteam/orthanc`` :ref:`Docker images `. The AWS plugin is available in the default Docker images while the Azure and Google plugins are available in the ``-full`` images. @@ -257,7 +257,7 @@ The **MigrationFromFileSystemEnabled** configuration has been superseded by the **HybridMode** in v 2.1.0. The **EnableLegacyUnknownFiles** configuration has been introduced to allow recent version of the plugins (from 1.3.3) -continue working with data that was saved with Orthanc version around 1.9.3 and plugins version around 1.2.0 (e.g. osimis/orthanc:21.5.1 docker images). +continue working with data that was saved with Orthanc version around 1.9.3 and plugins version around 1.2.0 (e.g. orthancteam/orthanc:21.5.1 docker images). With these specific versions, some ``.unk`` files were generated instead of ``.dcm.head`` files. With this configuration option enabled, when reading files, the plugin will try both file extensions. If you have ``.unk`` files in your storage, you must enable this configuration. diff -r 2969cbebbc91 -r 5d4701d8fe28 Sphinx/source/plugins/orthanc-explorer-2.rst --- a/Sphinx/source/plugins/orthanc-explorer-2.rst Wed Jan 31 14:01:57 2024 +0100 +++ b/Sphinx/source/plugins/orthanc-explorer-2.rst Thu Feb 01 15:09:48 2024 +0100 @@ -34,7 +34,7 @@ Binaries are included in: -- The `osimis/orthanc Docker image `__ +- The `orthancteam/orthanc Docker image `__ - The `Windows Installer `__ - The `macOS packages `__ diff -r 2969cbebbc91 -r 5d4701d8fe28 Sphinx/source/plugins/osimis-webviewer.rst --- a/Sphinx/source/plugins/osimis-webviewer.rst Wed Jan 31 14:01:57 2024 +0100 +++ b/Sphinx/source/plugins/osimis-webviewer.rst Thu Feb 01 15:09:48 2024 +0100 @@ -36,8 +36,8 @@ The Osimis Web viewer is part of the `Windows installers `__. -For GNU/Linux users, you'll find it in the :ref:`osimis/orthanc -` Docker images or you can download precompiled LSB +For GNU/Linux users, you'll find it in the :ref:`orthancteam/orthanc +` Docker images or you can download precompiled LSB (Linux Standard Base) binaries `here `__. @@ -55,14 +55,14 @@ On Windows, the plugin is enabled by default and will work out-of-the-box. -If you're using the ``osimis/orthanc`` Docker images, you'll have to -define the ``OSIMIS_WEB_VIEWER1_PLUGIN_ENABLED`` :ref:`environment variable ` +If you're using the ``orthancteam/orthanc`` Docker images, you'll have to +define the ``OSIMIS_WEB_VIEWER1_PLUGIN_ENABLED`` :ref:`environment variable ` to ``true``. On plain GNU/Linux distributions (i.e. if not using Docker), the Osimis Web viewer will only work with LSB (Linux Standard Base) Orthanc binaries that can be downloaded from `here -`__ (that will work with most +`__ (that will work with most recent GNU/Linux distributions). Once Orthanc is installed, you must change the :ref:`configuration file ` to tell Orthanc where it can find the plugin: This is done by properly modifying the diff -r 2969cbebbc91 -r 5d4701d8fe28 Sphinx/source/plugins/postgresql.rst --- a/Sphinx/source/plugins/postgresql.rst Wed Jan 31 14:01:57 2024 +0100 +++ b/Sphinx/source/plugins/postgresql.rst Thu Feb 01 15:09:48 2024 +0100 @@ -332,7 +332,7 @@ *Remark:* This feature is only available in a beta version of both Orthanc and the PostgreSQL plugin (``pg-transactions`` branches in the code). This beta version is -only available in the ``osimis/orthanc:pg-transactions-unstable`` Docker image. +only available in the ``orthancteam/orthanc-pre-release:pg-transactions-unstable`` Docker image. *Remark:* This beta version is really a beta version and **should not be used on a production database**. It shall only be used on a DB that you can delete or recover. diff -r 2969cbebbc91 -r 5d4701d8fe28 Sphinx/source/plugins/python.rst --- a/Sphinx/source/plugins/python.rst Wed Jan 31 14:01:57 2024 +0100 +++ b/Sphinx/source/plugins/python.rst Thu Feb 01 15:09:48 2024 +0100 @@ -108,7 +108,7 @@ `Here `__ is a full example -of a more complex setup using the :ref:`osimis/orthanc ` images. +of a more complex setup using the :ref:`orthancteam/orthanc ` images. Microsoft Windows diff -r 2969cbebbc91 -r 5d4701d8fe28 Sphinx/source/plugins/stone-webviewer.rst --- a/Sphinx/source/plugins/stone-webviewer.rst Wed Jan 31 14:01:57 2024 +0100 +++ b/Sphinx/source/plugins/stone-webviewer.rst Thu Feb 01 15:09:48 2024 +0100 @@ -44,11 +44,11 @@ .. highlight:: bash -The ``osimis/orthanc`` :ref:`Docker images ` are more +The ``orthancteam/orthanc`` :ref:`Docker images ` are more suited to devops needs, as they allow to start a minimal Docker environment as follows:: - $ docker run -p 4242:4242 -p 8042:8042 -e STONE_WEB_VIEWER_PLUGIN_ENABLED=true -e DICOM_WEB_PLUGIN_ENABLED=true --rm osimis/orthanc:21.6.2 + $ docker run -p 4242:4242 -p 8042:8042 -e STONE_WEB_VIEWER_PLUGIN_ENABLED=true -e DICOM_WEB_PLUGIN_ENABLED=true --rm orthancteam/orthanc:21.6.2 .. highlight:: json diff -r 2969cbebbc91 -r 5d4701d8fe28 Sphinx/source/plugins/tcia.rst --- a/Sphinx/source/plugins/tcia.rst Wed Jan 31 14:01:57 2024 +0100 +++ b/Sphinx/source/plugins/tcia.rst Thu Feb 01 15:09:48 2024 +0100 @@ -50,7 +50,7 @@ and `macOS `__ are available as well. Furthermore, the ``jodogne/orthanc-plugins`` :ref:`Docker images -` and ``osimis/orthanc`` :ref:`Docker images ` +` and ``orthancteam/orthanc`` :ref:`Docker images ` also contain the plugin. diff -r 2969cbebbc91 -r 5d4701d8fe28 Sphinx/source/plugins/volview.rst --- a/Sphinx/source/plugins/volview.rst Wed Jan 31 14:01:57 2024 +0100 +++ b/Sphinx/source/plugins/volview.rst Thu Feb 01 15:09:48 2024 +0100 @@ -65,7 +65,7 @@ and `macOS `__ are available as well. Furthermore, the :ref:`Docker images ` -``jodogne/orthanc-plugins`` and ``osimis/orthanc`` also contain the +``jodogne/orthanc-plugins`` and ``orthancteam/orthanc`` also contain the plugin. Debian and Ubuntu packages can be found in the :ref:`standalone repository ` ``https://debian.orthanc-labs.com/``. diff -r 2969cbebbc91 -r 5d4701d8fe28 Sphinx/source/users.rst --- a/Sphinx/source/users.rst Wed Jan 31 14:01:57 2024 +0100 +++ b/Sphinx/source/users.rst Thu Feb 01 15:09:48 2024 +0100 @@ -7,7 +7,7 @@ users/cookbook.rst users/configuration.rst users/docker.rst - users/docker-osimis.rst + users/docker-orthancteam.rst users/rest.rst users/rest-cheatsheet.rst users/backup.rst diff -r 2969cbebbc91 -r 5d4701d8fe28 Sphinx/source/users/cookbook.rst --- a/Sphinx/source/users/cookbook.rst Wed Jan 31 14:01:57 2024 +0100 +++ b/Sphinx/source/users/cookbook.rst Thu Feb 01 15:09:48 2024 +0100 @@ -17,7 +17,7 @@ * `Download pre-compiled packages `__. * Use ``jodogne/orthanc`` :ref:`Docker images `. -* Use ``osimis/orthanc`` :ref:`Docker images `. +* Use ``orthancteam/orthanc`` :ref:`Docker images `. * On GNU/Linux, use precompiled packages for :ref:`Debian/Ubuntu ` (courtesy of DebianMed and Sébastien Jodogne), or for `openSUSE `__ diff -r 2969cbebbc91 -r 5d4701d8fe28 Sphinx/source/users/debian-packages.rst --- a/Sphinx/source/users/debian-packages.rst Wed Jan 31 14:01:57 2024 +0100 +++ b/Sphinx/source/users/debian-packages.rst Thu Feb 01 15:09:48 2024 +0100 @@ -35,7 +35,7 @@ * Use ``jodogne/orthanc`` :ref:`Docker images `. -* Use ``osimis/orthanc`` :ref:`Docker images `. +* Use ``orthancteam/orthanc`` :ref:`Docker images `. * :ref:`Compile Orthanc by yourself `. diff -r 2969cbebbc91 -r 5d4701d8fe28 Sphinx/source/users/docker-orthancteam.rst --- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/Sphinx/source/users/docker-orthancteam.rst Thu Feb 01 15:09:48 2024 +0100 @@ -0,0 +1,472 @@ +.. _docker-orthancteam: +.. highlight:: bash + + +orthancteam/orthanc Docker images +================================= + +.. contents:: + :depth: 3 + +.. warning:: + Starting from February 2024, the ``osimis/orthanc`` Docker images have been renamed + into ``orthancteam/orthanc``. The ``osimis/orthanc`` images won't be updated anymore + therefore you should switch to the ``orthancteam/orthanc`` images. + + Note that all old tags released prior to February 2024 have been copied into ``orthancteam/orthanc`` + as well so, even if you are using an old version, you should update the name in your setup. + The name is the only thing that has changed. The content and build procedure are identical. + +.. warning:: + + Starting from the ``22.6.1`` release, we are providing 2 types of images: + + - the default image with the usual tag: e.g ``22.6.1`` + - the full image with a e.g ``22.6.1-full`` tag + + The default image is suitable for 99.9% of users. + + You should use the full image only if you need to use one of these: + + - the Azure Blob storage plugin + - the Google Cloud storage plugin + - the ODBC plugin with SQL Server (msodbcsql18 is preinstalled) + + +Introduction +------------ + +Our commercial partner `Orthanc Team `__ +`publishes separated Docker images +`__. +These images have been designed to be used with ``docker-compose`` and +provide a configuration system through: + +- environment variables +- Docker secrets +- classical configuration files +- a mix of these options + +This `repository `__ +contains lots of examples on how to use these images. In particular, +`this example `__ +shows all the way that can be used to generate the same +configuration in Orthanc. + + +Environment variables +--------------------- + +Any part of the Orthanc configuration file can be configured through an +environment variable. Now that Orthanc and its plugins have hundreds of +configuration parameter, listing all these environment variable would be +too long. That's why we have defined a standard way of naming the variable: + ++---------------------------+----------------------------------------------+----------------------------------------------------------------+ +| Orthanc configuration | Environment variable | Sample value | ++===========================+==============================================+================================================================+ +| StableAge | ORTHANC__STABLE_AGE | ``30`` | ++---------------------------+----------------------------------------------+----------------------------------------------------------------+ +| DicomWeb.Root | ORTHANC__DICOM_WEB__ROOT | ``/dicom-web/`` | ++---------------------------+----------------------------------------------+----------------------------------------------------------------+ +| DicomWeb.Servers | ORTHANC__DICOM_WEB__SERVERS | ``{"sample": [ "http://127.0.0.1/dicom-web/"]}`` | ++---------------------------+----------------------------------------------+----------------------------------------------------------------+ + +To find out an environment variable name from an Orthanc setting +(i.e. ``DicomWeb.StudiesMetadata`` is the ``path`` to a setting): + +- whenever a word contains a capital letter, insert an underscore ``_`` in front. + ``DicomWeb.StudiesMetadata`` now becomes ``Dicom_Web.Studies_Metadata`` +- whenever you go down one level in the JSON configuration, insert + a double underscore ``__``. ``Dicom_Web.Studies_Metadata`` now becomes + ``Dicom_Web__Studies_Metadata`` +- capitalize all letters. ``Dicom_Web__Studies_Metadata`` now becomes + ``DICOM_WEB__STUDIES_METADATA`` +- add ``ORTHANC__`` in front. ``DICOM_WEB__STUDIES_METADATA`` now becomes + ``ORTHANC__DICOM_WEB__STUDIES_METADATA`` + +Note that, this automatic rule might fail because of 2 capital letters one after each other in some +Orthanc settings. Therefore, there are some `exceptions `__ to this rule +that are however quite intuitive. + +Special environment variables +----------------------------- + +Other environment variables are not related to the Orthanc configuration file +but can be specified to control the way Orthanc is run. + +- ``VERBOSE_STARTUP=true`` will allow you to debug the startup process and see + the configuration that has been provided to Orthanc. This setup should be + disabled in production since it might display secret information like passwords + in your logs +- ``VERBOSE_ENABLED=true`` will start Orthanc with the ``--verbose`` option +- ``TRACE_ENABLED=true`` will start Orthanc with the ``--trace`` option +- ``NO_JOBS=true`` will start Orthanc with the ``--no-jobs`` option +- ``LOGDIR=/logs`` will start Orthanc with the ``--logdir=/logs`` option (introduced in 21.9.1) +- ``LOGFILE=/logs`` will start Orthanc with the ``--logfile=/logs/orthanc.log`` option (introduced in 21.9.1) +- ``MALLOC_ARENA_MAX=10`` will :ref:`control memory usage ` +- ``ORTHANC_JSON`` can be used to pass a JSON "root" configuration (see below). +- ``BEFORE_ORTHANC_STARTUP_SCRIPT`` can be used to `run a custom script `__ before starting Orthanc. +- ``FORCE_HOST_ID`` and ``GENERATE_HOST_ID_IF_MISSING`` can be used to control the content of /etc/hostid (introduced in 22.9.1). + DCMTK calls gethostid() when generating DICOM UIDs (used, e.g, in modifications/anonymizations). + When /etc/hostid is missing, the system tries to generate it from the IP of the system. + On some system, in particular circumstances, we have observed that the system performs a DNS query + to get the IP of the system. This DNS can timeout (after multiple with retries) and, in particular cases, + we have observed a delay of 40 seconds to generate a single DICOM UID in Orthanc. + Therefore, if /etc/hostid is missing, the startup script creates it and fill it with a random number (default behaviour). + This behaviour can still be deactivated by defining ``GENERATE_HOST_ID_IF_MISSING=false``. + The host id can also be forced by defining ``FORCE_HOST_ID``. + + + +Configuration files +------------------- + +.. highlight:: yaml + +Configuration files should be stored in the ``/etc/orthanc/`` folder inside the Docker image. +This is done by building an image thanks to a ``Dockerfile``:: + + FROM orthancteam/orthanc + COPY orthanc.json /etc/orthanc/ + + +Configuration files can also be passed as secrets as shown in this ``docker-compose.yml``:: + + version: "3.3" + services: + orthanc-file-in-secrets: + image: orthancteam/orthanc + depends_on: [index-db] + ports: ["8201:8042"] + environment: + VERBOSE_STARTUP: "true" + + secrets: + - orthanc.secret.json + + secrets: + orthanc.secret.json: + file: orthanc.secret.json + +Finally, a whole configuration file can be passed as a JSON through the ``ORTHANC_JSON`` environment variable:: + + version: "3.3" + services: + orthanc-file-in-env-var: + image: orthancteam/orthanc + depends_on: [index-db] + ports: ["8200:8042"] + environment: + VERBOSE_ENABLED: "true" + OSIMIS_WEB_VIEWER1_PLUGIN_ENABLED: "true" + + ORTHANC_JSON: | + { + "Name": "orthanc-file-in-env-var", + "PostgreSQL" : { + "Host": "index-db", + "Password": "pg-password" + }, + "RegisteredUsers": { + "demo": "demo" + } + } + + +Docker secrets +-------------- + +.. highlight:: yaml + +When using your container in a ``Docker Swarm`` or ``Kubernetes`` environment, +it is usually advised to pass sensitive information through ``Docker Secrets``. +For this purpose, any secret whose name is similar to the name of an +environment variable is considered as an environment variable:: + + version: "3.3" + services: + orthanc-with-direct-secret: + image: orthancteam/orthanc + depends_on: [index-db] + ports: ["8003:8042"] + environment: + ORTHANC__NAME: "orthanc-with-direct-secret" + VERBOSE_ENABLED: "true" + + OSIMIS_WEB_VIEWER1_PLUGIN_ENABLED: "true" + + ORTHANC__POSTGRESQL__HOST: "index-db" + ORTHANC__REGISTERED_USERS: | + {"demo": "demo"} + + secrets: + - ORTHANC__POSTGRESQL__PASSWORD + secrets: + ORTHANC__POSTGRESQL__PASSWORD: + file: ORTHANC__POSTGRESQL__PASSWORD + + +Mixing configuration +-------------------- + +Parts of your configuration can be defined in a configuration file, +another part in an environment variable and yet another in a secret. +If the same setting is defined in multiple location, the latest one +will overwrite the first. Settings are evaluated in this order: + +- JSON files from ``/etc/orthanc/`` +- JSON files from ``/run/secrets`` (Docker secrets are copied there + by Docker) +- environment variables +- secret environment variables + +At this point, if some settings have not been defined yet, some defaults +are applied (see below). + + +Default configuration +--------------------- + +.. highlight:: json + +Orthanc and each plugin might have some default settings that might +eventually be different from the defaults included in the Orthanc +executable or the plugin library. + +.. below json is copied from orthanc-builder/docker/orthanc/orthanc-defaults.json + +Orthanc non-standard defaults:: + + { + "StorageDirectory" : "/var/lib/orthanc/db", + + "RemoteAccessAllowed": true, + "AuthenticationEnabled": true, + + "HttpsCACertificates" : "/etc/ssl/certs/ca-certificates.crt", + + "Plugins" : ["/usr/share/orthanc/plugins/"] + } + + +Default Lua scripts +------------------- + +Some Lua scripts are already loaded in the image but are not configured to +be loaded by Orthanc automatically. You'll have to add them to the ``"LuaScripts"`` +configuration if you want to use them. + +`/lua-scripts/filter-http-tools-reset.lua `__ +can be used to regenerate the ``/tmp/orthanc.json`` configuration file that is loaded by Orthanc every time +you POST to ``/tools/reset``. Note that it declares an ``IncomingHttpRequestFilter`` +callback that might conflict with your scripts. + +Healthcheck probe +----------------- + +In version 21.10.0, the `/probes/test-aliveness.py `__ +script has been added in order to perform healthchecks. Check the doc in the script itself for more details. +A sample configuration is also available in `this sample `__ + + +Plugins +------- + +Plugins are automatically enabled as soon as you define a setting +in their JSON section or as soon as you define to ``true`` their +specific environment variable. + +Below is a list of all plugins, their environment variable and their default configuration +(only when their default configuration is different from the plugin defaults): + + +.. below table is obtained by running orthanc-builder/docker/orthanc/generatePluginDoc.py + + ++--------------------------------------------------+--------------------------------------------------+----------------------------------------------------------------------------------------------------+ +| Plugin | Environment variable | Default configuration | ++==================================================+==================================================+====================================================================================================+ +| **Authorization** | ``AUTHORIZATION_PLUGIN_ENABLED`` | | ++--------------------------------------------------+--------------------------------------------------+----------------------------------------------------------------------------------------------------+ +| **ConnectivityChecks** | ``CONNECTIVITY_CHECKS_PLUGIN_ENABLED`` | | ++--------------------------------------------------+--------------------------------------------------+----------------------------------------------------------------------------------------------------+ +| **DicomWeb** | ``DICOM_WEB_PLUGIN_ENABLED`` | .. code-block:: json | +| | | | +| | | { | +| | | "DicomWeb": { | +| | | "Enable": true | +| | | } | +| | | } | ++--------------------------------------------------+--------------------------------------------------+----------------------------------------------------------------------------------------------------+ +| **Gdcm** | ``GDCM_PLUGIN_ENABLED`` | .. code-block:: json | +| | Note: enabled by default | | +| | | { | +| | | "Gdcm": { | +| | | "Throttling": 4, | +| | | "RestrictTransferSyntaxes": [ | +| | | "1.2.840.10008.1.2.4.90", | +| | | "1.2.840.10008.1.2.4.91", | +| | | "1.2.840.10008.1.2.4.92", | +| | | "1.2.840.10008.1.2.4.93" | +| | | ] | +| | | } | +| | | } | ++--------------------------------------------------+--------------------------------------------------+----------------------------------------------------------------------------------------------------+ +| **OrthancWebViewer** | ``ORTHANC_WEB_VIEWER_PLUGIN_ENABLED`` | | ++--------------------------------------------------+--------------------------------------------------+----------------------------------------------------------------------------------------------------+ +| **StoneWebViewer** | ``STONE_WEB_VIEWER_PLUGIN_ENABLED`` | | ++--------------------------------------------------+--------------------------------------------------+----------------------------------------------------------------------------------------------------+ +| **OsimisWebViewerBasic** | ``OSIMIS_WEB_VIEWER1_PLUGIN_ENABLED`` | | ++--------------------------------------------------+--------------------------------------------------+----------------------------------------------------------------------------------------------------+ +| **OsimisWebViewerBasicAlpha** | ``OSIMIS_WEB_VIEWER1_ALPHA_PLUGIN_ENABLED`` | | ++--------------------------------------------------+--------------------------------------------------+----------------------------------------------------------------------------------------------------+ +| **PostgreSQL** | ``POSTGRESQL_PLUGIN_ENABLED`` | .. code-block:: json | +| | | | +| | | { | +| | | "PostgreSQL": { | +| | | "EnableIndex": true, | +| | | "EnableStorage": false, | +| | | "Port": 5432, | +| | | "Host": "HOST MUST BE DEFINED", | +| | | "Database": "postgres", | +| | | "Username": "postgres", | +| | | "Password": "postgres", | +| | | "EnableSsl": false, | +| | | "Lock": false | +| | | } | +| | | } | ++--------------------------------------------------+--------------------------------------------------+----------------------------------------------------------------------------------------------------+ +| **MySQL** | ``MYSQL_PLUGIN_ENABLED`` | .. code-block:: json | +| | | | +| | | { | +| | | "MySQL": { | +| | | "EnableIndex": true, | +| | | "EnableStorage": false, | +| | | "Port": 3306, | +| | | "Host": "HOST MUST BE DEFINED", | +| | | "Database": "mysql", | +| | | "Username": "root", | +| | | "Password": "mysql", | +| | | "Lock": false | +| | | } | +| | | } | ++--------------------------------------------------+--------------------------------------------------+----------------------------------------------------------------------------------------------------+ +| **Python** | ``PYTHON_PLUGIN_ENABLED`` | | ++--------------------------------------------------+--------------------------------------------------+----------------------------------------------------------------------------------------------------+ +| **ServeFolders** | ``SERVE_FOLDERS_PLUGIN_ENABLED`` | | ++--------------------------------------------------+--------------------------------------------------+----------------------------------------------------------------------------------------------------+ +| **Transfers** | ``TRANSFERS_PLUGIN_ENABLED`` | | ++--------------------------------------------------+--------------------------------------------------+----------------------------------------------------------------------------------------------------+ +| **Worklists** | ``WORKLISTS_PLUGIN_ENABLED`` | .. code-block:: json | +| | | | +| | | { | +| | | "Worklists": { | +| | | "Enable": true, | +| | | "Database": "/var/lib/orthanc/worklists" | +| | | } | +| | | } | ++--------------------------------------------------+--------------------------------------------------+----------------------------------------------------------------------------------------------------+ +| **Housekeeper** | ``HOUSEKEEPER_PLUGIN_ENABLED`` | .. code-block:: json | +| | | | +| | | { | +| | | "Housekeeper": { | +| | | "Enable": true | +| | | } | +| | | } | ++--------------------------------------------------+--------------------------------------------------+----------------------------------------------------------------------------------------------------+ +| **DelayedDeletion** | ``DELAYED_DELETION_PLUGIN_ENABLED`` | .. code-block:: json | +| | | | +| | | { | +| | | "DelayedDeletion": { | +| | | "Enable": true | +| | | } | +| | | } | ++--------------------------------------------------+--------------------------------------------------+----------------------------------------------------------------------------------------------------+ +| **MultitenantDicom** | ``MULTITENANT_DICOM_PLUGIN_ENABLED`` | | ++--------------------------------------------------+--------------------------------------------------+----------------------------------------------------------------------------------------------------+ +| **Wsi** | ``WSI_PLUGIN_ENABLED`` | | ++--------------------------------------------------+--------------------------------------------------+----------------------------------------------------------------------------------------------------+ +| **Odbc** | ``ODBC_PLUGIN_ENABLED`` | .. code-block:: json | +| | | | +| | | { | +| | | "Odbc": { | +| | | "EnableIndex": true, | +| | | "EnableStorage": false, | +| | | "IndexConnectionString": "MUST BE DEFINED", | +| | | "StorageConnectionString": "MUST BE DEFINED" | +| | | } | +| | | } | ++--------------------------------------------------+--------------------------------------------------+----------------------------------------------------------------------------------------------------+ +| **Tcia** | ``TCIA_PLUGIN_ENABLED`` | .. code-block:: json | +| | | | +| | | { | +| | | "Tcia": { | +| | | "Enable": true | +| | | } | +| | | } | ++--------------------------------------------------+--------------------------------------------------+----------------------------------------------------------------------------------------------------+ +| **Indexer** | ``INDEXER_PLUGIN_ENABLED`` | .. code-block:: json | +| | | | +| | | { | +| | | "Indexer": { | +| | | "Enable": true | +| | | } | +| | | } | ++--------------------------------------------------+--------------------------------------------------+----------------------------------------------------------------------------------------------------+ +| **Neuro** | ``NEURO_PLUGIN_ENABLED`` | .. code-block:: json | +| | | | +| | | { | +| | | "Neuro": { | +| | | "Enable": true | +| | | } | +| | | } | ++--------------------------------------------------+--------------------------------------------------+----------------------------------------------------------------------------------------------------+ +| **AzureBlobStorage** | ``AZURE_BLOB_STORAGE_PLUGIN_ENABLED`` | .. code-block:: json | +| | | | +| | | { | +| | | "AzureBlobStorage": { | +| | | "ConnectionString": "MUST BE DEFINED BY YOU", | +| | | "ContainerName": "MUST BE DEFINED BY YOU" | +| | | } | +| | | } | ++--------------------------------------------------+--------------------------------------------------+----------------------------------------------------------------------------------------------------+ +| **AwsS3Storage** | ``AWS_S3_STORAGE_PLUGIN_ENABLED`` | .. code-block:: json | +| | | | +| | | { | +| | | "AwsS3Storage": { | +| | | "BucketName": "MUST BE DEFINED BY YOU", | +| | | "Region": "MUST BE DEFINED BY YOU" | +| | | } | +| | | } | ++--------------------------------------------------+--------------------------------------------------+----------------------------------------------------------------------------------------------------+ +| **GoogleCloudStorage** | ``GOOGLE_CLOUD_STORAGE_PLUGIN_ENABLED`` | .. code-block:: json | +| | | | +| | | { | +| | | "GoogleCloudStorage": { | +| | | "ServiceAccountFile": "MUST BE DEFINED BY YOU", | +| | | "BucketName": "MUST BE DEFINED BY YOU" | +| | | } | +| | | } | ++--------------------------------------------------+--------------------------------------------------+----------------------------------------------------------------------------------------------------+ +| **OrthancExplorer2** | ``ORTHANC_EXPLORER_2_ENABLED`` | .. code-block:: json | +| | Note: enabled by default | | +| | | { | +| | | "OrthancExplorer2": { | +| | | "Enable": true, | +| | | "IsDefaultOrthancUI": false | +| | | } | +| | | } | ++--------------------------------------------------+--------------------------------------------------+----------------------------------------------------------------------------------------------------+ +| **VolView** | ``VOLVIEW_PLUGIN_ENABLED`` | | ++--------------------------------------------------+--------------------------------------------------+----------------------------------------------------------------------------------------------------+ +| **Ohif** | ``OHIF_PLUGIN_ENABLED`` | | ++--------------------------------------------------+--------------------------------------------------+----------------------------------------------------------------------------------------------------+ + + +Under the hood +-------------- + +The source code that is used to generate the image can be found `here `__. + +The Python script that is used at startup can be found `here `__ diff -r 2969cbebbc91 -r 5d4701d8fe28 Sphinx/source/users/docker.rst --- a/Sphinx/source/users/docker.rst Wed Jan 31 14:01:57 2024 +0100 +++ b/Sphinx/source/users/docker.rst Thu Feb 01 15:09:48 2024 +0100 @@ -8,7 +8,7 @@ .. toctree:: :hidden: - docker-osimis.rst + docker-orthancteam.rst .. contents:: @@ -24,7 +24,7 @@ source code of the corresponding Docker images is available on `GitHub `__. -**Note about Orthanc vs. Osimis Docker images:** +**Note about Orthanc vs. Orthanc Team Docker images:** * The ``jodogne/orthanc`` and ``jodogne/orthanc-plugins`` Docker images that are described on this page are always kept in sync with @@ -33,18 +33,15 @@ (i.e. manual edition of the configuration files). These images are most useful to **software developers and researchers**. -* Our commercial partner `Osimis `__ also +* Our commercial partner `Orthanc Team `__ also `publishes separated Docker images - `__. These - ``osimis/orthanc`` images are used by the technical team of Osimis - in order to provide professional support to their customers, with a + `__. These + ``orthancteam/orthanc`` images are used by the technical team of + the Orthanc Team company in order to provide professional support + to their customers, with a configuration system that can be tuned through **environment variables** (which is very handy if using ``docker-compose`` or - Kubernetes). These images are not necessarily always in sync with - the Orthanc project, but they also include the :ref:`plugins edited - by Osimis `, notably the Osimis Web viewer (that is - much more advanced than the Orthanc Web viewer) and the advanced - authorization plugin. A :ref:`specific page ` is + Kubernetes). A :ref:`specific page ` is available to describe how these images should be used. These images are targeted at **ops teams**.