The committed .env.example is the source for available local variables. Copy it to .env, then change only the values required by your chosen runtime.
Core local settings
Generate a key
For native setup:
For a Docker-only setup after the image is built, print a key and place it in .env:
Do not reuse a local key in staging or production.
Test-data rules
- Use invented names, identifiers, addresses, barcodes, accession numbers, and study identifiers.
- Do not copy screenshots, database dumps, DICOM studies, HL7 messages, ASTM messages, or logs containing real patient data.
- Store reusable sanitized samples in the repository only after a second person confirms that direct and indirect identifiers are removed.
- Treat generated API tokens as secrets even when the database is disposable.
- Route development mail to logs or a local mail catcher.
Never restore a production database or PACS volume to a workstation. Use an approved de-identification process before clinical data leaves the production boundary.
Development seeding
DatabaseSeeder creates reference data and a known administrator account. It is designed for disposable development environments.
For a retained local database, use the safer production-style sequence from initial configuration instead.
Changing branches
After switching application branches:
Use docker compose ... up -d --build instead when working in Docker Desktop.