Checkmate
Open-source uptime and infrastructure monitoring tool
Checkmate is an open-source server monitoring application that tracks uptime, response times, and infrastructure health. It offers incident notifications and a clean dashboard for homelabs and small teams.
Key features
- Uptime and response monitoring
- Infrastructure health agent
- Incident notifications
- Modern dashboard
Pros & cons
Strengths
- Clean modern interface
- Active development
Trade-offs
- Newer project
- Feature set still growing
Checkmate replaces
Last reviewed Aug 26, 2026 · 825 words
Checkmate is what you get if you build Uptime Kuma again in 2024 with a design team, a server-metrics agent, and MongoDB instead of SQLite. Two of those are upgrades. The third is why I run it on the 4 GB box rather than the Pi, and why Uptime Kuma is still my default for someone who wants to install 1 thing and forget it. If you have a few servers to watch as well as a few websites, and you want a single clean dashboard for both, Checkmate is the strongest new entrant in the monitoring category.
It watches servers, not just URLs
The uptime side is what you expect: HTTP and HTTPS checks with status-code and keyword matching, ping, TCP port, and Docker container health, each with its own interval and a response-time graph. The addition is the infrastructure side. A small Go agent on each server reports CPU, memory, disk, and temperature back to Checkmate, and you get thresholds and history per host on the same screen as your website checks. There are also page-speed checks that score a URL the way Lighthouse does, public status pages, an incident log, maintenance windows, and notifications to email, Slack, Discord, and generic webhooks. Uptime Kuma does the first half of that list better and has no answer for the second.
The MongoDB tax
The catalogue's 256 MB is for the application. Checkmate also runs a MongoDB container, and MongoDB will take a few hundred megabytes for itself and grow with retention. Plan on about 1 GB for the whole stack, and plan on mongodump rather than a file copy for backups, because there is no single database file to grab. Uptime Kuma is 1 SQLite file and about 100 MB; Gatus is a YAML file and a Go binary. That difference is the entire reason the choice is not obvious.
Setup, honestly
The project ships a compose file with 3 services: the React client, the Node API, and MongoDB. You change 2 values before starting it, the public URL the browser will use to reach the API and the JWT secret, then docker compose up -d. The first account you register becomes the superadmin, so register it straight away. Put the whole thing behind Caddy or Traefik with TLS, because the agent and the browser both talk to the API and you do not want either doing it in plain text across a network you do not own. Point each server's agent at the API with the key the UI gives you, and the host appears within a minute.
Pin an image tag. Checkmate was first released in 2024, moves fast, and has shipped breaking changes to its configuration between versions. latest on a monitoring tool is how you find out your monitor is down from the thing it was supposed to be monitoring.
Where it is still young
The catalogue's cons are the accurate ones: it is new, and the feature set is still filling in. The concrete gaps, as of this writing: fewer notification providers than Uptime Kuma's dozens (no Matrix, Gotify, or Pushover in the box, though a webhook covers most of them via ntfy), no config-as-code, fewer exotic check types (Kuma will check DNS records, MQTT topics, and a Postgres query; Checkmate will not), and a smaller pool of people who have already hit your bug. None of those are reasons to avoid it. They are reasons not to migrate a 200-monitor Kuma instance to it this month.
Four monitors, one table
| Checkmate | Uptime Kuma | Gatus | Beszel | |
|---|---|---|---|---|
| Storage | MongoDB | SQLite | Memory, SQLite, or Postgres | SQLite |
| Configured by | UI | UI | YAML | UI |
| Server metrics | Agent | No | No | Agent |
| Footprint (estimate) | about 1 GB | about 100 MB | about 20 MB | about 50 MB |
| Best for | Sites and servers on one screen | Set-and-forget uptime | Config-in-git homelabs | Server metrics only |
Beszel is the closest rival on the infrastructure half and is far lighter, but it does not check websites. Gatus is the one to pick if your homelab lives in git and you never want to click through a form. The general shape of a homelab monitoring setup, and where a status page fits, is in homelab monitoring and uptime.
What I'd do
Fewer than 20 checks and no server metrics to speak of: Uptime Kuma, still. A handful of VMs plus a handful of sites, 1 GB to spare, and a preference for a dashboard you would be happy to put on a wall: Checkmate, with a pinned tag, MongoDB backed up nightly with mongodump, and a webhook into ntfy for the notification providers it lacks. I would also keep a single external check, a free tier at any hosted monitor, pointed at Checkmate itself, because a self-hosted monitor cannot tell you it is down.
Compare Checkmate
16 head-to-head comparisons.
- Checkmate vs Uptime Kuma
- Checkmate vs Upptime
- Checkmate vs Cachet
- Checkmate vs Gatus
- Checkmate vs Healthchecks
- Checkmate vs OpenStatus
- Checkmate vs Blackbox Exporter
- Checkmate vs Kener
- Checkmate vs PHP Server Monitor
- Checkmate vs Statping-ng
- Checkmate vs Vigil
- Checkmate vs Peekaping
- Checkmate vs Cloudprober
- Checkmate vs Monika
- Checkmate vs Lunalytics
- Checkmate vs Phoenix Panel
Similar monitoring & status apps
Uptime Kuma
Monitoring & StatusEasy self-hosted uptime monitoring tool
Replaces Pingdom, UptimeRobot
Netdata
Monitoring & StatusReal-time per-second infrastructure monitoring
Replaces Datadog, New Relic
Grafana
Monitoring & StatusOpen observability dashboards and visualization
Replaces Datadog
Prometheus
Monitoring & StatusMetrics-based monitoring and alerting toolkit
Replaces Datadog
Glances
Monitoring & StatusCross-platform system monitoring at a glance
Replaces Datadog
InfluxDB
Monitoring & StatusPurpose-built time series database for metrics and events
Replaces Datadog, AWS Timestream