Configuration
All Tindra configuration is done via environment variables. No config files.
Required
| Variable | Description |
|---|---|
DATABASE_URL |
Postgres connection string, e.g. postgres://user:pass@host/db |
PUBLIC_URL |
The public-facing URL of your instance, e.g. https://tindra.example.com |
Server
| Variable | Default | Description |
|---|---|---|
BIND_ADDR |
0.0.0.0:9000 |
Address and port to listen on |
DATA_DIR |
/data |
Directory for file storage (attachments, etc.) |
Data retention
| Variable | Default | Description |
|---|---|---|
RETENTION_DAYS |
90 |
Number of days to retain events. Older events are purged nightly. |
Set EMAIL_PROVIDER to configure outbound email for alerts and invitations.
| Value | Provider |
|---|---|
smtp |
Generic SMTP server |
postmark |
Postmark |
brevo |
Brevo (formerly Sendinblue) |
ahasend |
AhaSend |
lettermint |
Lettermint |
cloudflare |
Cloudflare Email Workers |
Each provider requires additional variables. Example for SMTP:
EMAIL_PROVIDER=smtp
SMTP_HOST=mail.example.com
SMTP_PORT=587
SMTP_USERNAME=tindra@example.com
SMTP_PASSWORD=your-password
SMTP_FROM=tindra@example.com
OAuth / SSO
See Authentication for OAuth configuration variables.
Docker Compose example
environment:
DATABASE_URL: postgres://tindra:secret@db/tindra
PUBLIC_URL: https://tindra.example.com
BIND_ADDR: 0.0.0.0:9000
RETENTION_DAYS: "90"
EMAIL_PROVIDER: smtp
SMTP_HOST: mail.example.com
SMTP_PORT: "587"
SMTP_USERNAME: alerts@example.com
SMTP_PASSWORD: your-password
SMTP_FROM: alerts@example.com