a terminal UI for Uptime Kuma 2

Uptime Kuma,
in the terminal.

Watch every monitor of every instance you run, live. Pause, edit and silence them, arrange status pages, manage the server — and hear about outages with the terminal closed. One keyboard, no browser tab.

$ go install github.com/icortesb/lazykuma/cmd/lazykuma@latest
lazykuma
Recording of lazykuma: the menu, an instance with groups and tags, a monitor's ping chart, and its status pages.

Everything Kuma does, from the keyboard

menu

Every instance

Home, VPS, lab: one menu, each with its monitors live, and a footer that says which answer — home ok vps down. Log in once, 2FA included.

g · t · /

Groups & tags

Kuma's own groups and tags, made and used from here. Fold groups, move monitors, search names, targets and tags, show only what is down.

enter

History charts

Uptime over a day, 30 days and a year, the certificate, a ping chart from the last hour to 30 days, and every state change.

S

Status pages

Create a page, arrange its sections and monitors, set its theme and domains, post an incident, open it in the browser.

A

Server admin

API keys for Prometheus and Grafana, proxies, Docker hosts with a connection test, and the database: size, shrink, clear statistics.

n · c · m

Monitors & channels

Forms for HTTP, keyword, ping and port; a field editor for every other type. Telegram, webhook and email channels, with a test. Silence while you deploy.

Alerts with the terminal closed

The same binary runs without the interface. A watch that reports every outage as a desktop notification, started at login; and a one-shot status for scripts and status bars.

Background alerts

systemd, XDG autostart, launchd or the Windows Run key — no admin rights. A Kuma restart is not an outage.

$ lazykuma autostart on
background alerts: on (systemd user service)
runs: /home/you/.local/bin/lazykuma
watch: running (pid 4182)

waybar

Exit codes a script can read; JSON a status bar can colour.

"custom/kuma": {
  "exec": "lazykuma status --json",
  "return-type": "json",
  "interval": 60
}
How background alerts work →

Keys that stay put

The footer of every screen says its keys. The same letter does the same thing on a monitor in the list and on its detail.

jk move
p pause or resume a monitor, or a whole group
m silence it while you deploy
/ search names, targets and tags
? help, right there in the app
Full key reference →

Install

Linux

curl -fsSL https://github.com/icortesb/lazykuma/releases/latest/download/lazykuma_linux_amd64.tar.gz | tar -xzf - lazykuma && mkdir -p ~/.local/bin && mv lazykuma ~/.local/bin/

macOS

curl -fsSL https://github.com/icortesb/lazykuma/releases/latest/download/lazykuma_darwin_arm64.tar.gz | tar -xzf - lazykuma && sudo mkdir -p /usr/local/bin && sudo mv lazykuma /usr/local/bin/

Windows

Invoke-WebRequest https://github.com/icortesb/lazykuma/releases/latest/download/lazykuma_windows_amd64.zip -OutFile lazykuma.zip; Expand-Archive lazykuma.zip -DestinationPath lazykuma

Go

go install github.com/icortesb/lazykuma/cmd/lazykuma@latest

Other

arm64 Linux, Intel Macs and ARM Windows: take the build for your system from releases, with checksums. Details →

Requires Uptime Kuma 2.x. One static binary, no runtime dependencies. First run →