Clinica reads its configuration from environment variables at startup. In local development these are loaded from aDocumentation Index
Fetch the complete documentation index at: https://mintlify.com/bentlyy/Clinica/llms.txt
Use this file to discover all available pages before exploring further.
.env file in the repository root. In production you should supply them through your platform’s secret management tooling — never by committing .env to version control.
Database
The API uses a single connection string to reach PostgreSQL. This is read bysrc/shared/db.js via the pg library’s Pool.
Full PostgreSQL connection string. The API passes this directly to
new Pool({ connectionString }).Default (docker-compose): postgresql://postgres:postgres@db:5432/clinicThe hostname db refers to the db service in docker-compose.yml. Change this to your database server’s hostname in any other environment.Server
The port the API HTTP server listens on.Default:
3000Authentication
Secret key used to sign and verify JSON Web Tokens. Anyone who obtains this value can forge valid authentication tokens for any user in your system.Default:
secret123 (insecure fallback in source)The Gmail address used as the sender. This address appears in the
from field of all outgoing emails ("Clinic App" <EMAIL_USER>).Default: your_email@example.com (placeholder — must be replaced)The Gmail account password, or an app-specific password if two-factor authentication is enabled on the account. Google requires an app password when 2FA is active.Default:
your_email_password (placeholder — must be replaced)If you do not need email reminders, you can leave
EMAIL_USER and EMAIL_PASS unset. Reminder jobs will fail silently rather than crashing the API, but all other functionality remains unaffected.Example .env file
The repository ships with a.env file containing placeholder values. Replace every value marked below before running in any non-local environment.
.env