// CONFIGURATION REFERENCE
All configuration is done through environment variables in the .env file.
Red = required. Everything else is optional.
Core
| Variable | Default | Description |
|---|---|---|
| SECRET_KEY | required | Flask session signing key. Generate with:python -c "import secrets; print(secrets.token_hex(32))" |
| APP_USERNAME | required | Login username. |
| APP_PASSWORD | required | Login password (plaintext — this is a personal local tool). |
SMTP / Email
Email features (incident notifications, digests, reports, aging alerts) require a working SMTP configuration. Works with Zoho, Gmail App Passwords, or any STARTTLS SMTP provider.
| Variable | Default | Description |
|---|---|---|
| SMTP_HOST | smtp.zoho.com | SMTP server hostname. |
| SMTP_PORT | 587 | STARTTLS port. Use 587. |
| SMTP_USERNAME | — | SMTP account email address. |
| SMTP_PASSWORD | — | App-specific password (NOT your account password for providers like Zoho or Google). |
| SMTP_FROM_NAME | IT Support | Display name on outbound emails. |
| EMAIL_FOOTER_CREDIT | (generic Field Log line) | Credit line in outbound email footers. Override for personal branding; leave default for a generic open-source footer. |
| PROJECT_URL | (blank) | If set, appends “Available for free at: …” with this URL on email footers. Leave blank so forks don’t advertise someone else’s site. |
Weekly Digest
Sends a summary of open incidents, tasks due, and recent activity.
| Variable | Default | Description |
|---|---|---|
| DIGEST_EMAIL | — | Recipient address for the weekly digest. |
| DIGEST_DAY | mon | Day of week: mon tue wed thu fri sat sun |
| DIGEST_HOUR | 8 | Hour (UTC, 0–23) to send. |
You can also trigger the digest manually from Admin → Weekly Digest.
Aging Alerts
Daily email flagging open break/fix incidents that have been open longer than a threshold.
| Variable | Default | Description |
|---|---|---|
| AGING_ENABLED | true | Set to false to disable aging alerts entirely. |
| AGING_DAYS | 3 | Days open before an incident is considered aging. |
| AGING_EMAIL | (DIGEST_EMAIL) | Override recipient. Defaults to DIGEST_EMAIL if blank. |
Monthly Report
Automatically emails the month-end PDF report.
| Variable | Default | Description |
|---|---|---|
| REPORT_EMAIL | (DIGEST_EMAIL) | Recipient for the auto monthly report. Defaults to DIGEST_EMAIL. |
| REPORT_DAY | 1 | Day of month to send (1–28). |
| REPORT_HOUR | 6 | UTC hour to send (0–23). |
You can also generate and send manually from Admin → Monthly Report.
Maintenance Reminders
| Variable | Default | Description |
|---|---|---|
| MAINT_REMIND_EMAIL | (DIGEST_EMAIL) | Recipient for daily maintenance reminders. |
| MAINT_REMIND_HOUR | 7 | UTC hour to send (0–23). |
SLA Thresholds
Open break/fix incidents (including live events) are checked against these thresholds. Breaches appear in a red panel on the dashboard.
| Variable | Default | Description |
|---|---|---|
| SLA_CRITICAL_HOURS | 8 | Target resolution hours for Critical severity. |
| SLA_HIGH_HOURS | 24 | Target resolution hours for High severity. |
| SLA_MEDIUM_HOURS | 72 | Target resolution hours for Medium severity. |
| SLA_LOW_HOURS | 168 | Target resolution hours for Low severity. |
API & Webhooks
| Variable | Default | Description |
|---|---|---|
| API_TOKEN | — | Bearer token for /api/v1/* endpoints. Leave blank to disable token enforcement. |
| WEBHOOK_URL | — | URL to POST JSON to on every incident create/update. Leave blank to disable. |
For the REST API, set the header: Authorization: Bearer <API_TOKEN>
Ping Monitor
| Variable | Default | Description |
|---|---|---|
| PING_ENABLED | false | Set to true to enable the asset ping monitor. |
| PING_INTERVAL | 5 | How often to sweep all assets (minutes). |
When enabled, all assets with an IP address are pinged on the interval. If a host stops responding, an outage record is opened automatically and closed when it comes back.