Orthanc external storage

Hi, is it possible to configure an Orthanc server on a public EC2 instance to use a PostgreSQL or MySQL database on a private Amazon RDS instance (the two instances will be in a VPC with the Orthanc server behind an Nginx reverse proxy)? If so, could you point me to some resources for the configuration/setup?

(if this isn’t possible, I could put the database in an S3 bucket and configure it using a VPC endpoint)

Additionally, can I do the S3 database configuration without using docker?


There are two concepts involved: the Orthanc database and the Orthanc storage.

The default database is a filesystem-based SQLite, but you can use other DB engines, such as PostgreSQL and, provided Amazon RDS is compliant with the PostgreSQL API, it should work.

The storage default backend is file-based, but you can use an S3 bucket instead or you can also use PostgreSQL. You cannot use S3 for the Orthanc database.

These plugins are fully supported and the Orthanc Book contains configuration guides and examples.

You wrote: “Additionally, can I do the S3 database configuration without using docker?

Whether you’re using an Orthanc container or not has no impact on the ability to use either the PostgreSQL or S3 plugins. The documentation might contain examples using containerized Orthanc instances, but the reason is that it is much simpler for tests and quick prototypes.


So I saw another discussion where someone was trying to use the S3 plugin for ‘storage’ purposes and the postgres plugin for ‘database’ purposes. Do they mean that S3 will be used as the ‘storage’ for the ‘database’ that Orthanc will use? In that case, does it make sense when I say that I want a postgres database on Amazon RDS whose actual storage will be in an S3 bucket?

Orthanc requires both a DB and a place to store the DICOM files.

  • The DB can be : SQLite on the filesystem, or an external DB like PostgreSQL
  • The storage can be (among others) : the raw filesystem or an object storage, including S3

So you are correct: it makes perfect sense to say that you want to use Amazon RDS for the Orthanc DB while using an S3 bucket as the storage.


Perfect, thank you Benjamin!

this project implements a reference architecture with RDS exposed on private subnet and EC2 in public subnet