Deployment (production)#

Status: initial notes. Validate for your environment before clinical/research use.

Prerequisites#

  • Linux server with Docker & Docker Compose

  • Domain (e.g., scanhub.example.org)

  • Valid TLS certificate + private key

Steps (high-level)#

1) Provision server and DNS#

  • Point A/AAAA records to your server.

2) Configure TLS and secrets#

  • Place your private key and certificate under secrets/ (do not commit).

3) Update hostnames and CORS#

Replace localhost with your domain in:

  • NGINX: infrastructure/nginx_config.conf (server_name, HTTP→HTTPS redirect)

  • UI base URLs: scanhub-ui/src/utils/Urls.tsx

  • Allowed origins in API services: - services/device-manager/app/main.py - services/exam-manager/app/main.py - services/mri/sequence-manager/app/main.py - services/patient-manager/app/main.py - services/user-login-manager/app/main.py - services/workflow-manager/app/main.py

4) Build & start#

::

docker compose build docker compose up -d

5) Create users#

Use the UI to create admin/operator accounts with strong passwords.

Security notes#

  • Limit admin endpoints; consider a reverse proxy/WAF, backups, logging, and secrets management.

  • Review data protection requirements for your use case.