The hub’s Settings page is the primary configuration surface — email, alerts, webhooks, AI diagnosis, retention, and the status page are all editable there, hot-reloadable, and persisted to the hub’s SQLite database. Most users never need to touch an environment variable after the initial docker-compose.yml in the Quick Start.
The variables listed below are equivalent defaults for users who prefer declarative deployments (Docker Compose, Kubernetes, Ansible). For keys that appear both here and in the UI, the DB value wins.
SMTP / Email
Variable
Default
Description
INSIGHTD_SMTP_HOST
(none)
SMTP server hostname
INSIGHTD_SMTP_PORT
587
SMTP port (587 for TLS, 465 for SSL)
INSIGHTD_SMTP_USER
(none)
SMTP username
INSIGHTD_SMTP_PASS
(none)
SMTP password or app password
INSIGHTD_SMTP_FROM
(from user)
From address for emails
Digest
Variable
Default
Description
INSIGHTD_DIGEST_TO
(none)
Recipient email for weekly digest
INSIGHTD_DIGEST_CRON
0 8 * * 1
Digest schedule (Monday 8am)
TZ
UTC
Timezone for cron schedules
Alerts
Variable
Default
Description
INSIGHTD_ALERTS_ENABLED
false
Enable real-time alerts
INSIGHTD_ALERTS_TO
(digest recipient)
Alert email recipient
INSIGHTD_ALERT_COOLDOWN
60
Minutes between the first reminders for a persistent alert. With backoff on, this is the base — each subsequent reminder doubles the gap.
INSIGHTD_ALERT_REMINDER_BACKOFF
true
Slow down reminders for long-lived alerts. Each reminder doubles the previous gap (60m → 2h → 4h → 8h → …) until the cap. Prevents the inbox from filling with the same alert.
INSIGHTD_ALERT_REMINDER_MAX
1440
Upper bound on the gap between reminders, in minutes. Default 1440 = once per day.
INSIGHTD_ALERT_DOWN
true
Alert on container down
INSIGHTD_ALERT_CPU
90
Container CPU threshold (%)
INSIGHTD_ALERT_MEMORY
0
Container memory threshold (MB, 0=disabled)
INSIGHTD_ALERT_RESTART
3
Restart count in 30min window
INSIGHTD_ALERT_UNHEALTHY
true
Alert on unhealthy containers
INSIGHTD_ALERT_HOST_CPU
90
Host CPU threshold (%)
INSIGHTD_ALERT_HOST_MEMORY
0
Host low memory threshold (MB, 0=disabled)
INSIGHTD_ALERT_LOAD
0
Host load threshold (0=disabled)
INSIGHTD_ALERT_DISK
90
Disk usage threshold (%)
INSIGHTD_ALERT_EXCLUDE
(none)
Exclude containers from alerts (comma-separated globs, e.g. dev-*,test-*)
INSIGHTD_ALERT_ENDPOINT_DOWN
true
Alert when HTTP endpoints go down
INSIGHTD_ALERT_ENDPOINT_FAILURES
3
Consecutive failures before alerting
Web UI
Variable
Default
Description
INSIGHTD_WEB_ENABLED
true
Enable the web UI
INSIGHTD_WEB_PORT
3000
Web UI port
INSIGHTD_WEB_HOST
0.0.0.0
Bind address
INSIGHTD_ADMIN_PASSWORD
(none)
Admin password for settings/webhooks
INSIGHTD_EXTERNAL_HOST
(auto)
Hostname shown in agent setup commands
INSIGHTD_STATUS_PAGE
false
Enable public status page at /status (no auth)
MQTT (Hub Mode)
Variable
Default
Description
INSIGHTD_MQTT_URL
(none)
MQTT broker URL (enables hub mode)
INSIGHTD_MQTT_USER
(none)
MQTT username
INSIGHTD_MQTT_PASS
(none)
MQTT password
INSIGHTD_HOST_ID
local
Host identifier (falls back to NODE_NAME in k8s mode)
Container Runtime
Variable
Default
Description
INSIGHTD_RUNTIME
auto
Container runtime: auto, docker, or kubernetes
INSIGHTD_ALLOW_ACTIONS
false
Enable container start/stop/restart from UI (Docker only)
INSIGHTD_ALLOW_UPDATES
false
Enable remote agent self-updates (Docker only)
Host Grouping
Variable
Default
Description
INSIGHTD_HOST_GROUP
(none)
Optional logical group label (e.g. production-cluster, basement). Surfaces as collapsible sections on the Hosts page. The agent reports its group; a manual override on the Hosts page detail (PUT /api/hosts/:id/group) always wins over the env var.
AI Diagnosis (Gemini)
The container detail page has a “Diagnose with AI” button that sends the diagnosis context (metrics, baselines, restart history, log signals) to Google Gemini and persists the response. Disabled by default — set the API key to enable it. All settings are also available on Settings → AI Diagnosis in the web UI.