Checkmate is an open-source, self-hosted monitoring solution designed for developers and DevOps teams who need full control over their infrastructure visibility. Unlike cloud-based status page tools, Checkmate runs entirely on your own servers or devices like Raspberry Pi, ensuring data privacy and customization. It tracks server uptime, response times, SSL certificates, ports, Docker containers, and more—with optional deep hardware insights via the Capture agent. With a clean MUI-based interface and support for 9 languages, it’s ideal for teams seeking a transparent, customizable alternative to UptimeRobot or StatusCake. The project is actively maintained with contributions from engineers at Google, Microsoft, and other major tech firms.
What You Get
- Website & Page Speed Monitoring - Track HTTP/HTTPS availability and load times with customizable thresholds and detailed performance metrics.
- Infrastructure Monitoring via Capture Agent - Monitor CPU, RAM, disk usage, and temperature on Linux, Windows, Mac, or Raspberry Pi using the lightweight Go-based Capture agent.
- Selective Disk Monitoring - Choose specific mountpoints to monitor disk usage, avoiding unnecessary overhead on systems with many partitions.
- Docker Monitoring - Track container health, restarts, and resource usage without requiring external tools.
- Ping & Port Monitoring - Validate network reachability and open ports for services like SSH, databases, or game servers.
- SSL Certificate Monitoring - Receive alerts before certificates expire and view detailed TLS chain information.
- Incident Management & Status Pages - Public-facing status pages with real-time incident reporting and scheduled maintenance windows.
- Multi-Channel Notifications - Alert via email, Discord, Slack, and webhooks with customizable templates and escalation rules.
- JSON Query Monitoring - Validate API responses by querying JSON endpoints and asserting expected values or status codes.
- Game Server Monitoring (v3.0) - Monitor game server availability and response times for popular titles and custom servers.
- Multi-Language Support - Fully translated interfaces in English, German, Japanese, Portuguese (Brazil), Russian, Turkish, Ukrainian, Vietnamese, and Chinese (Traditional).
Common Use Cases
- Building a self-hosted status page for SaaS products - Use Checkmate to monitor API endpoints, databases, and microservices, then embed a public status page for customers without relying on third-party services.
- Monitoring home lab infrastructure - Deploy Checkmate on a Raspberry Pi 4/5 to track uptime of NAS, media servers, and IoT devices with real-time dashboards.
- Problem: Cloud monitoring tools are expensive or black-boxed → Solution: Checkmate - Teams needing full data ownership and no vendor lock-in use Checkmate to replace UptimeRobot or Pingdom with a self-hosted, customizable alternative.
- DevOps teams managing hybrid cloud and on-prem servers - Monitor both cloud VMs and internal network services with a unified dashboard, using Capture for deep hardware metrics and HTTP checks for external endpoints.
Under The Hood
The project is a full-stack web application built with modern JavaScript and TypeScript, designed to provide infrastructure monitoring and status page management. It features a modular architecture with distinct frontend and backend components, emphasizing clean separation of concerns and maintainable code organization.
Architecture
This project adopts a monolithic architecture with clear client-server boundaries and layered design principles. It emphasizes modular organization and separation of concerns through well-defined controllers, repositories, and utility modules.
- Uses a layered architecture with distinct presentation, business logic, and data access layers
- Implements dependency injection and middleware patterns for scalable server-side design
- Demonstrates clear separation between frontend UI components and backend services
- Supports extensible modular structure for future feature additions
Tech Stack
Built using a contemporary JavaScript/TypeScript ecosystem with React and Express.js as core technologies.
- Frontend developed in TypeScript with React, Vite, and MUI for component-driven UI
- Backend powered by Node.js and Express.js with comprehensive tooling support
- Integrates Redux Toolkit, React Router, and Axios for state management and API handling
- Leverages Vite, Husky, Prettier, and ESLint for development workflow and code quality
Code Quality
The project maintains a moderate level of code quality with structured testing and error handling practices.
- Includes structured test coverage for core backend services and frontend components
- Implements widespread use of try/catch blocks for error handling across modules
- Enforces code linting and formatting standards through ESLint and Prettier
- Shows consistent naming conventions and style adherence with some implementation variation
What Makes It Unique
This project distinguishes itself through its integrated observability and admin-controlled monitoring capabilities.
- Combines real-time diagnostics with a modular frontend architecture for extensible UI components
- Offers admin-controlled workflows that enable flexible infrastructure monitoring setups
- Integrates multi-layered observability features to support comprehensive system health tracking
- Supports a hybrid approach that balances real-time status updates with configurable monitoring rules