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.tsxAllowed 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.