Cachet
Cachet License (source-available)
- Platform
- Self-hosted Web
- Licence
- Cachet License (source-available)
Cachet is a self-hosted status page system: a PHP/Laravel application that publishes a public page showing whether each part of your stack is operational, alongside a separate dashboard where you record incidents, plan scheduled maintenance and chart your own metrics. It is aimed at teams that want a status page on their own domain, in their own styling, instead of renting one.
Source-available, not open source. The 3.x branch — the only actively developed line — ships under the custom Cachet License from Alt Three Services Limited: you may use it commercially, modify it and bundle it with your own projects, but you may not redistribute it or your modifications as a standalone product, and the project’s trademark policy applies. The last packaged release, 2.4.1 from November 2023, was MIT-licensed. Cachet’s own documentation still describes 3.x as in development with an incomplete migration path from 2.4, so what you install today is a source-available development release rather than an OSI-approved one.
Features
- Public status page — the components you publish, each with its current state, an overall banner (“All systems are operational”) and an optional metrics widget.
- Components and component groups — model the parts of your stack as individual components, grouped so a large platform stays readable.
- Incidents and incident updates — open an incident, append timestamped updates as you work through it, and resolve it; updates appear as a timeline on the public page.
- Incident templates — save the wording you reuse so a 3 a.m. incident does not need a fresh write-up.
- Scheduled maintenance — announce a maintenance window in advance and show it on the status page while it runs.
- Metrics — publish named measurements with a suffix, decimal places, a sum or average calculation and a default view (last hour, today, week or month), optionally plotted as a chart.
- Email subscribers — when subscriptions are enabled, visitors can opt in and receive email notifications for incidents and scheduled maintenance; SMTP or Sendmail is configured in the dashboard and credentials are encrypted at rest.
- Status badges — cacheable SVG badges for a README or project page:
/badge.svg for the whole system, /components/{id}/badge.svg for one component.
- JSON API and API keys — a documented REST API over components, component groups, incidents, incident updates, schedules, metrics and subscribers, with per-key permissions, pagination, filtering and rate limiting.
- Webhooks — push a notification to another system when something changes.
- MCP server — an optional Model Context Protocol interface so an AI agent can read or act on the status page.
- Theming and customisation — set a banner image and colours from the dashboard, inject custom HTML, scripts and CSS, or theme with stable CSS selectors and render hooks.
- Integrations — an Oh Dear integration imports your uptime data as Cachet components.
Requirements and installation
Cachet 3.x needs PHP 8.3, 8.4 or 8.5, Composer, and one of SQLite, MySQL, MariaDB 10.7+, PostgreSQL or SQL Server. There is no packaged release to download: you clone the 3.x branch, run composer install --no-dev -o, give the web server user write access to storage/, then complete the Laravel environment and database setup. It is served by any PHP-capable web server, so nginx or Apache with PHP-FPM in front of a small database is the usual deployment; everything else (theme, subscribers, integrations) is configured from the dashboard. There is no official Docker image for 3.x, and the maintainers’ migration path from a 2.4 installation is documented as incomplete — plan a fresh install rather than an upgrade.
Alternatives
- Uptime Kuma — MIT-licensed self-hosted monitoring with a status page; the better fit if you want the checks and the page in one tool.
- Gatus — MIT-licensed, config-file-driven health dashboard with a status page.
- Kener — MIT-licensed self-hosted status page with incident management.
Views: 1