Overview: Cachet is an open-source, self-hosted status page system built with PHP and Laravel that allows organizations to publicly display the operational status of their services. It was created to provide a customizable, privacy-conscious alternative to third-party status page providers. By hosting Cachet on your own infrastructure, you maintain full control over data, branding, and uptime monitoring without vendor lock-in. This tool is ideal for DevOps teams, SaaS providers, and developers who need to communicate service outages, maintenance windows, or performance issues transparently to their users.
Cachet supports multiple databases including MySQL, MariaDB, PostgreSQL, and SQLite, and requires PHP 8.2 or later with Composer for installation. The platform offers a clean, modern dashboard and API-driven architecture to enable both manual and automated status updates. With the ongoing Cachet 3.x rewrite, users can expect improved performance, scalability, and modernized frontend components while retaining core functionality.
What You Get
- Self-hosted status pages - Deploy a fully customizable public status page on your own server, with full control over branding, content, and data privacy.
- Real-time incident management - Create, update, and resolve incidents with customizable severity levels (e.g., scheduled maintenance, partial outage) and public notifications.
- Component-level monitoring - Define individual service components (e.g., API, database, web server) and track their status independently with visual indicators.
- API-driven updates - Integrate with monitoring tools via REST API to automatically update status based on health checks or alerts from external systems.
- Docker deployment support - Run Cachet using pre-built Docker images with docker-compose, simplifying setup and scaling in containerized environments.
- Multi-database support - Choose from MySQL, MariaDB, PostgreSQL, or SQLite for backend storage to fit your infrastructure preferences.
Common Use Cases
- Building a SaaS status page - A cloud-based application provider uses Cachet to publicly display real-time uptime for their API endpoints, helping reduce customer support tickets during outages.
- Monitoring microservices - A DevOps team deploys Cachet to track the health of 15+ microservices across different environments, using automated API calls from Prometheus to update component statuses.
- Problem → Solution flow: Customers confused by silent outages → Transparent status page - A company experiences repeated support calls during unplanned downtime; they deploy Cachet to publish real-time updates, reducing ticket volume by 60%.
- Team/workflow scenario: DevOps teams managing cloud infrastructure - Engineering teams at mid-sized companies use Cachet to centralize status updates for all hosted services, integrating with their CI/CD pipelines to auto-publish deployment maintenance windows.
Under The Hood
Cachet is a PHP-based status page and incident management system built on the Laravel framework, designed to provide real-time monitoring and communication capabilities for service availability. It leverages modern web development practices and integrates seamlessly with the broader PHP ecosystem to deliver a flexible, extensible platform for status page management.
Architecture
Cachet follows a traditional monolithic architecture with clear separation between layers and modules.
- Utilizes Laravel’s MVC structure alongside service-oriented design principles
- Organized into distinct configuration, model, and controller components with well-defined responsibilities
- Employs standard architectural patterns such as dependency injection and modular organization
Tech Stack
Cachet is built using PHP and the Laravel framework, incorporating a range of modern tools and practices.
- Developed in PHP with Laravel as its core framework, utilizing built-in services like caching and queue handling
- Leverages Composer for dependency management and Artisan CLI for task automation
- Integrates Pest and PHPUnit for testing, supporting expressive and maintainable test suites
Code Quality
Code quality in Cachet is moderate, with a structured approach to testing and configuration.
- Implements Pest as the primary testing framework for expressive test writing
- Adheres to standard PHP conventions and Laravel patterns, though some technical debt remains
- Lacks comprehensive error handling and validation in several areas
- Overall structure is consistent, but could benefit from more robust testing and clearer separation of concerns
What Makes It Unique
Cachet distinguishes itself through thoughtful integration of modern tools and extensible architecture.
- Features a modular, extensible design that separates core logic from presentation layers
- Incorporates Laravel Sanctum and Filament for API-first authentication and admin panel support
- Includes a robust middleware and configuration system that supports proxy trust and rate limiting
- Prioritizes developer experience with standardized testing practices and organized code structure