Menu
Baba docs

Configuration Reference

All settings below can be placed in config.json at the project root. Unknown fields are rejected — use the exact key names shown. Every field is optional (defaults are applied) except notifiers.

KeyTypeDefaultDescription
$schemastring
machineNamestringDisplay name for this machine, prepended to every alert message.
logLeveltrace | debug | info | warn | errorinfoLog verbosity. One of: trace, debug, info, warn, error.
intervalSecondsnumber60Seconds between monitor check cycles.
reminderIntervalMinutesnumber30Minutes before re-alerting for an ongoing incident.
database.pathstring/var/lib/baba/baba.dbPath to the SQLite incident database.
checks.cpu.enabledbooleantrueEnable CPU usage monitoring.
checks.cpu.usageThresholdPercentnumber90CPU usage % that triggers an alert.
checks.cpu.consecutiveBreachesinteger3Consecutive high readings before opening a CPU incident.
checks.load.enabledbooleantrueEnable system load-average monitoring.
checks.load.thresholdnumber81-minute load average that triggers an alert. Rule of thumb: number of CPU cores.
checks.load.consecutiveBreachesinteger3Consecutive high readings before opening a load incident.
checks.memory.enabledbooleantrueEnable memory usage monitoring.
checks.memory.usageThresholdPercentnumber90Memory usage % that triggers an alert.
checks.memory.consecutiveBreachesinteger3Consecutive high readings before opening a memory incident.
checks.disk.enabledbooleantrueEnable disk usage monitoring.
checks.disk.usageThresholdPercentnumber90Disk usage % that triggers an alert.
checks.disk.volumesstring[]["/"]Comma-separated mount points to monitor.
checks.temperature.enabledbooleanfalseEnable temperature monitoring (CPU + all GPUs). Off by default; most values are null on macOS.
checks.temperature.cpuThresholdCelsiusnumber85CPU temperature (°C) that triggers an alert.
checks.temperature.gpuThresholdCelsiusnumber85GPU temperature (°C) that triggers an alert.
checks.temperature.consecutiveBreachesinteger3Consecutive high readings before opening a temperature incident.
checks.gpu.enabledbooleanfalseEnable GPU utilization monitoring. Off by default; metrics unavailable on macOS.
checks.gpu.vramThresholdPercentnumber90GPU utilization % that triggers an alert.
checks.gpu.consecutiveBreachesinteger3Consecutive high readings before opening a GPU incident.
updates.notifyEnabledbooleantrueSend an alert via your configured notifiers when a newer release is available.
notifiersNotifierConfig[]requiredOne or more notification destinations. See Notifiers below.

Notifiers

notifiers is a required array. Each entry must have a "type" field that selects the notifier. You can list multiple destinations of different types.

Discord

Sends alerts to a Discord channel via an incoming webhook.

FieldTypeDescription
typediscord
webhookUrlstringWebhook URL from Discord → Channel Settings → Integrations → Webhooks.
{
  "type": "discord",
  "webhookUrl": "https://discord.com/api/webhooks/<id>/<token>"
}

Telegram

Sends alerts to a Telegram chat, group, or channel via a bot.

FieldTypeDescription
typetelegram
botTokenstringToken from @BotFather on Telegram.
chatIdstringTarget chat. Use a user ID, a group ID (prefixed with -), or @channelname.
{
  "type": "telegram",
  "botToken": "123456789:AAFxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx",
  "chatId": "-1001234567890"
}

To find your Telegram chat ID: add @userinfobot to the chat, or forward a message from the chat to it.

Minimal config.json

{
  "$schema": "https://raw.githubusercontent.com/orochibraru/baba/refs/heads/main/schema/config.schema.json",
  "notifiers": [
    { "type": "discord", "webhookUrl": "https://discord.com/api/webhooks/<id>/<token>" }
  ]
}

Full example with all fields

See config.example.json in the repository root.

This guide lives in the project repo: edit it there, and this page follows within a day.