.env.example to .env and fill in the values before starting the application.
Backend
Server settings
The port the Express API server listens on.
Runtime environment. Accepted values:
development, production, test.When
true, Prisma synchronises the database schema on startup. Equivalent to running db:sync manually. Keep false in production and use migrations instead.When
true, the seed script runs on startup and populates the database with initial data.Database
Full Prisma-compatible connection URL. This takes precedence over the individual
DB_* variables for Prisma operations.Hostname or IP address of the PostgreSQL server.
Port of the PostgreSQL server.
Name of the target database.
PostgreSQL username.
PostgreSQL password.
Authentication
Secret key used to sign and verify JSON Web Tokens.
Password assigned to seeded user accounts. Change this before running the seed in any environment that is accessible over a network.
Email / SMTP
Hostname of the SMTP server. Defaults to the local Mailpit container.
SMTP port. Use
587 (STARTTLS) or 465 (TLS) for production providers.Set to
true to use TLS on the initial connection (port 465). Leave false for STARTTLS (port 587) or unencrypted local connections.SMTP authentication username. Leave empty for the local Mailpit dev server.
SMTP authentication password. Leave empty for the local Mailpit dev server.
The
From address used on all outbound emails.Mobile app
The mobile app is built with Expo. Variables must be prefixed withEXPO_PUBLIC_ to be bundled into the client.
Base URL of the backend API. Change this to your server’s address when building for a physical device or staging environment.
When
true, the app uses local mock data instead of making real API calls. Useful for UI development without a running backend.Desktop app
The desktop app is built with Vite. Variables must be prefixed withVITE_DESKTOP_.
Base URL of the backend API. Update this when targeting a remote or staging backend.
When
true, the app uses local mock data instead of making real API calls.