After installation, configuration is stored in config/local/config.local.ini.
tirreno can be configured via environment variables or config file settings. Environment variables take precedence over config file settings and are useful for Docker/Heroku deployments.
Required settings:
| Setting | Env Variable | Config Key | Description |
|---|---|---|---|
| Database | DATABASE_URL | DATABASE_URL | PostgreSQL connection string (e.g., postgres://user:pass@host:5432/dbname) |
| Site URL | SITE | SITE | Base URL for the application (e.g., https://tirreno.example.com) |
| Pepper | PEPPER | PEPPER | Password pepper for secure hashing (random string, keep secret) |
Optional settings:
| Setting | Env Variable | Config Key | Default | Description |
|---|---|---|---|---|
| Admin email | ADMIN_EMAIL | ADMIN_EMAIL | — | Administrator email address |
| SMTP login | MAIL_LOGIN | MAIL_LOGIN | — | SMTP username for sending emails |
| SMTP password | MAIL_PASS | MAIL_PASS | — | SMTP password |
| Enrichment API | ENRICHMENT_API | ENRICHMENT_API | https://api.tirreno.com | Enrichment API endpoint |
| Force HTTPS | FORCE_HTTPS | FORCE_HTTPS | false | Force HTTPS redirects |
| Forgot password | ALLOW_FORGOT_PASSWORD | ALLOW_FORGOT_PASSWORD | false | Enable forgot password feature |
| Show email/phone | ALLOW_EMAIL_PHONE | ALLOW_EMAIL_PHONE | false | Enable email/phone display |
| Logbook limit | LOGBOOK_LIMIT | LOGBOOK_LIMIT | 3000 | Maximum logbook entries to retain |
Config file only settings (config/config.ini):
| Config Key | Default | Description |
|---|---|---|
DEBUG | 0 | Debug mode (0=off, 1-3=verbosity levels) |
SEND_EMAIL | 1 | Enable email sending |
SMTP_DEBUG | 0 | SMTP debug output |
MIN_PASSWORD_LENGTH | 8 | Minimum password length |
tirreno uses a built-in cron system. Jobs are configured in config/crons.ini and invoked through a single cron entry:
System crontab entry (run every 10 minutes):
|
Built-in cron jobs (config/crons.ini):
| Job | Schedule | Description |
|---|---|---|
| enrichmentQueueHandler | Every minute | Process IP/email/phone enrichment |
| riskScoreQueueHandler | Every minute | Calculate user risk scores |
| batchedNewEvents | Every minute | Process new incoming events |
| blacklistQueueHandler | Every minute | Process blacklist updates |
| deletionQueueHandler | Every minute | Handle data deletion requests |
| notificationsHandler | Every minute | Send alert notifications |
| totals | Every minute | Update dashboard statistics |
| logbookRotation | 0-10 | Rotate logbook entries |
| retentionPolicyViolations | 0-10 0 * | Check retention policy daily |
| queuesClearer | 0-10 0 2 | Clear stale queues weekly |
Verify cron is running:
|
________________________________________________________________________________