Skip to main content

Uptime Kuma

@sntxrr/uptime-kumav2026.10.25.1· MIT· 1d agoBEHAVIORSACCEPTED WARNINGS
01README

Read-only Uptime Kuma monitor history for triage: the last N heartbeats of one monitor -- status, time, message, ping -- plus a summary of the current status, since when, and how many times it changed in the window. Kuma has no REST endpoint for heartbeat history, and its socket.io API needs the instance's only kind of login, an administrator, so any credential that can read history can also delete monitors and read notifier secrets. This model instead reads kuma.db over SSH with the host's python3, opening the database mode=ro with PRAGMA query_only=ON so SQLite itself refuses any write, and selects named columns from the monitor and heartbeat tables only: never notifier settings, credentials, monitor URLs or hostnames, or heartbeat response bodies. Monitors are found by id or by name (exact, else a unique case-insensitive substring; ambiguity is an error listing the candidates). It needs no Kuma login, never enters the container, never copies the database off the host, and has no write method.

02Behaviors1
@sntxrr/uptime-kuma/dbv2026.10.25.1kuma_history.ts

Global Arguments

ArgumentTypeDescription
sshHoststringHost that holds the Kuma data directory.
sshUser?stringSSH user. Needs read access to the database file, nothing more.
dbPathstringPath to kuma.db ON THE HOST (the bind-mounted data directory), not the path inside the container. `~` is expanded.
python?stringPython interpreter on the host. Its stdlib sqlite3 module is used.
strictHostKeyChecking?enumOpenSSH StrictHostKeyChecking. `no` is never the default.
knownHostsFile?stringOptional UserKnownHostsFile override.
fn monitor(id?: number, name?: string, limit?: number, importantOnly?: boolean)
Read-only. Last `limit` heartbeats of one monitor, by `id` or `name` (exact, else a unique case-insensitive substring). `importantOnly: true` returns state changes only. Returns status, time (UTC ISO), message and ping per beat.
ArgumentTypeDescription
id?numberMonitor id.
name?stringMonitor name: exact match first, else a unique case-insensitive substring.
limit?numberHow many heartbeats, newest first.
importantOnly?booleanOnly beats Kuma marked important, i.e. status changes.

Resources

history(infinite)— The newest heartbeats of one monitor (instance `monitor-<id>`), with a summary: current status, since when, and status transitions in the window.
03Previous Versions1
2026.10.22.1MIT
04Stats
A
100 / 100
Downloads
6
Archive size
10.0 KB
  • Has README or module doc2/2earned
  • README has a code example1/1earned
  • README is substantive1/1earned
  • Most symbols documented1/1earned
  • No slow types (deprecated)1/1earned
  • Dependencies pass trust audit2/2earned
  • Docs keep secrets in a vault1/1earned
  • Has description1/1earned
  • Platform support declared (or universal)2/2earned
  • License2/2earned
  • Verified public repository2/2earned

06Platforms
07Labels