Introduction
Checkmate is an open-source, self-hosted infrastructure monitoring platform that tracks server uptime, response times, hardware metrics, and incidents. It provides a clean dashboard with real-time visualizations, configurable alerts, and status pages for communicating service health to users.
What Checkmate Does
- Monitors HTTP, HTTPS, TCP, and ping endpoints with configurable check intervals
- Tracks server hardware metrics including CPU, memory, disk, and network usage via a lightweight agent
- Generates public or private status pages showing real-time and historical service health
- Sends alerts through email, Slack, Discord, PagerDuty, and webhook integrations
- Provides incident management with timeline tracking and resolution notes
Architecture Overview
Checkmate uses a Node.js backend with Express, storing monitoring data in MongoDB for flexible schema and time-series queries. The React frontend with Material UI renders dashboards and status pages. A distributed check engine runs probes from configurable locations. The hardware monitoring agent is a lightweight Go binary that reports metrics via REST API. Redis handles job queuing for check scheduling and alert deduplication.
Self-Hosting & Configuration
- Deploy with Docker Compose; the stack includes the app server, MongoDB, and Redis
- Configure monitoring targets through the web UI with URL, check interval, and expected status codes
- Set alert channels in Settings: add SMTP credentials for email or webhook URLs for Slack/Discord
- Install the hardware agent on monitored servers with a single binary and API key
- Customize the public status page with your logo, colors, and subdomain
Key Features
- Real-time dashboards with response time charts, uptime percentages, and incident timelines
- Lightweight hardware agent under 10 MB that reports metrics without heavy dependencies
- Public status pages with customizable branding for end-user communication
- Multi-user support with role-based access for teams managing different service groups
- Incident annotations and maintenance windows to suppress alerts during planned downtime
Comparison with Similar Tools
- Uptime Kuma — Simpler setup for basic uptime checks; Checkmate adds hardware monitoring and status pages
- Beszel — Focused on lightweight server stats; Checkmate provides a more complete incident management workflow
- Gatus — Config-file driven; Checkmate offers a web UI for non-technical users to manage monitors
- Netdata — Deep system observability; Checkmate is lighter with a focus on uptime and incident tracking
- Healthchecks — Cron job monitoring; Checkmate covers HTTP endpoints, TCP ports, and server hardware
FAQ
Q: How many monitors can Checkmate handle? A: There is no built-in limit. Performance depends on check frequency and server resources; typical deployments monitor hundreds of endpoints on a small VPS.
Q: Does the hardware agent require root access? A: The agent runs without root on most systems. Certain disk and network metrics may need elevated permissions depending on the OS.
Q: Can I monitor services from multiple locations? A: Yes. Deploy additional probe nodes and register them with the central server to check endpoints from different geographic locations.
Q: Is there an API for integrating with CI/CD? A: Yes. Checkmate exposes a REST API for creating monitors, querying status, and triggering incident updates programmatically.