Checkmate

Open-source uptime and infrastructure monitoring tool

Monitoring & Status ★ 10.9k stars Easy setup AGPL-3.0

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

CheckmateUptime KumaGatusBeszel
StorageMongoDBSQLiteMemory, SQLite, or PostgresSQLite
Configured byUIUIYAMLUI
Server metricsAgentNoNoAgent
Footprint (estimate)about 1 GBabout 100 MBabout 20 MBabout 50 MB
Best forSites and servers on one screenSet-and-forget uptimeConfig-in-git homelabsServer 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.

Similar monitoring & status apps