All configuration is done through environment variables in the .env file. Red = required. Everything else is optional.

Core

VariableDefaultDescription
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.

VariableDefaultDescription
SMTP_HOSTsmtp.zoho.comSMTP server hostname.
SMTP_PORT587STARTTLS port. Use 587.
SMTP_USERNAMESMTP account email address.
SMTP_PASSWORDApp-specific password (NOT your account password for providers like Zoho or Google).
SMTP_FROM_NAMEIT SupportDisplay 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.

VariableDefaultDescription
DIGEST_EMAILRecipient address for the weekly digest.
DIGEST_DAYmonDay of week: mon tue wed thu fri sat sun
DIGEST_HOUR8Hour (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.

VariableDefaultDescription
AGING_ENABLEDtrueSet to false to disable aging alerts entirely.
AGING_DAYS3Days 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.

VariableDefaultDescription
REPORT_EMAIL(DIGEST_EMAIL)Recipient for the auto monthly report. Defaults to DIGEST_EMAIL.
REPORT_DAY1Day of month to send (1–28).
REPORT_HOUR6UTC hour to send (0–23).

You can also generate and send manually from Admin → Monthly Report.

Maintenance Reminders

VariableDefaultDescription
MAINT_REMIND_EMAIL(DIGEST_EMAIL)Recipient for daily maintenance reminders.
MAINT_REMIND_HOUR7UTC 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.

VariableDefaultDescription
SLA_CRITICAL_HOURS8Target resolution hours for Critical severity.
SLA_HIGH_HOURS24Target resolution hours for High severity.
SLA_MEDIUM_HOURS72Target resolution hours for Medium severity.
SLA_LOW_HOURS168Target resolution hours for Low severity.

API & Webhooks

VariableDefaultDescription
API_TOKENBearer token for /api/v1/* endpoints. Leave blank to disable token enforcement.
WEBHOOK_URLURL 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

VariableDefaultDescription
PING_ENABLEDfalseSet to true to enable the asset ping monitor.
PING_INTERVAL5How 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.