Vigil against Uptime Kuma, by use case

Uptime Kuma is excellent. Sometimes it's still the wrong tool.

Kuma is the best free self-hosted monitor for one operator.

If that is you (one person watching their own boxes) use it and pay nothing. This page is for the moment monitoring stops being personal: teams, roles, clients.

If you are one person

Do not pay for this yet.

One operator watching their own boxes needs none of what the $149 buys. Two things are free and either is a better answer than a purchase.

Keep Kuma
MIT, and good

It is already installed, it works, and Uptime Kuma 2.4.0 ships 94 notification providers against Vigil's 25 native provider types. Nothing on this page is an argument for uninstalling it.

Or take Vigil Core
Free, Apache-2.0

Cut from the same commit as the paid edition, with all 40 of Core's check types, incidents, status pages, four roles and the audit page. Vigil's importer maps every one of Kuma 2.4.0's 31 monitor types, so moving is not a rewrite. github.com/sikurdev/vigil-core

Switch when…

The four walls teams hit with a single-admin monitor.

Kuma was designed for one operator. These are the four places where that design decides the outcome for a team.

Wall 1
One login
No roles, no record

Kuma has a single admin account, everyone who can see the dashboard can silently change or delete anything, and there's no trail of who did what. Vigil ships unlimited team members across four roles (owner, admin, responder, viewer) and records every incident state change: who, what, when. There is no seat cap and no per-user price.

Wall 2
Client work
No tenant isolation

Serving clients from Kuma means one shared instance where everything sees everything. Vigil is multi-tenant by design: each client is an isolated organization with its own monitors, members and a branded public status page on your domain. One install, a page per client. This is the agency setup, and it's covered by one license.

Wall 3
Incidents
Lifecycle, not a ping

Kuma tells you a check failed. Vigil opens an incident with severity and a timeline, investigating → identified → monitoring → resolved. Publishes it to the status page, closes it on recovery, and drafts the postmortem from the real events (AI, on your own key, optional). When a client asks what happened, the timeline is the answer.

Wall 4
One vantage point
No second opinion

Kuma runs its checks from the instance it is installed on, and customer-run probe agents with a configurable quorum are not in its feature list. So "the target is down" and "the path from this one box is down" arrive as the same alert at the same hour of the night. Vigil can dispatch a monitor to probe agents you run on your own machines and require several to agree first. A probe that does not answer is never counted as a failure. All four outcomes, recorded from a real run, and how to set it up. Your machines: Vigil hosts no regions and charges nothing per probe.

What about
OneUptime
Free · open source

The most complete free alternative: uptime, incidents, status pages and on-call, open source. It is a much heavier platform to operate, where Vigil is two processes and one Postgres on a $5 VPS, with a commercial license and one accountable human behind support. If you have the ops capacity for a big platform, evaluate it.

Don't want
to pay yet
Free · Apache-2.0

Then take Vigil Core, the free edition under Apache-2.0: github.com/sikurdev/vigil-core. HTTP checks with keyword assertions, incidents, a public status page, team roles, and every check type the paid edition has. Both are cut from one commit. Same two processes. It exists so you can judge the engineering before you decide, and it is a perfectly good place to stop.

Kuma has more notification providers and a larger community. Vigil ships 25 native provider types (Slack, Discord, Microsoft Teams, Telegram, Google Chat, Mattermost, Rocket.Chat, Matrix, Zulip, LINE, PagerDuty, Jira Service Management, Pushover, Gotify, ntfy, Pushbullet, Bark, Web Push, Home Assistant, Twilio SMS, Twilio WhatsApp, SMTP, Resend, signed webhooks and Amazon SNS), plus additional services through an Apprise server you run - a bridge, not an integration, and not counted in the 25. With that: member email, SMS/voice via your own Twilio, on-call schedules and escalation, and a commercial license with support.

The other difference

$149 buys the repository.

Typed source, 4706 tests, 1568 against a real Postgres, migrations, docs, Docker, with private modification rights and every future version. A license with a person behind it, instead of a fork you maintain alone.

Two processes, one datastore, the architecture
On-call rotas and escalation, with SMS and voice through your own Twilio
Many client organizations in one install, each unable to see the others
Verified auto-recovery: signed trigger to your restart hook, probed before and after
Probe agents inside networks nothing external can reach, with a quorum verdict
Monthly client reports from your install, your name and logo on them, frozen so a sent report never changes
Commercial license + support, readable before you pay

Solo operators keep Kuma. Teams and agencies, try the demo.

The Uptime Kuma importer at /settings/import: upload a kuma.db, read the dry-run report, then apply
The importer at /settings/import. It reads a Kuma database export, shows a dry run, and writes a line for every row it refuses rather than dropping it quietly.

Past about a hundred monitors an import is a job rather than an afternoon, so request a migration quote and send the export first. A quote is never given before the export has been read.