explaingit

cachethq/cachet

Analysis updated 2026-06-24

15,043PHPAudience · ops devopsComplexity · 3/5LicenseSetup · moderate

TLDR

Cachet is an open source self-hosted status page built with PHP and Laravel, with components, incidents, metrics, a JSON API, and email subscribers.

Mindmap

mindmap
  root((cachet))
    Inputs
      Component states
      Incident updates
      Metrics
    Outputs
      Public status page
      JSON API
      Subscriber emails
    Use Cases
      Self host status page
      Replace StatusPage.io
      Track incidents
    Tech Stack
      PHP
      Laravel
      MySQL
      Composer
Click or tap to explore — scroll the page freely

Code map

Detail Auto

An interactive map of this repo's files and how they connect — its source is parsed live in your browser. Click Visualize to build it.

filefunction / class

What do people build with it?

USE CASE 1

Self-host a status page to replace paid services like StatusPage.io

USE CASE 2

Log incidents and post Markdown updates that subscribers receive by email

USE CASE 3

Expose system component health through a JSON API to other internal tools

What is it built with?

PHPLaravelMySQLComposerSCSS

How does it compare?

cachethq/cacheterusev/parsedownfreshrss/freshrss
Stars15,04315,02915,010
LanguagePHPPHPPHP
Setup difficultymoderateeasymoderate
Complexity3/52/53/5
Audienceops devopsdeveloperops devops

Figures from each repo's GitHub metadata at analysis time.

How do you get it running?

Difficulty · moderate Time to first run · 1h+

Needs PHP 5.5.9+, Composer, and a MySQL/Postgres/SQLite database. Avoid running master in production and use tagged releases instead.

BSD-3-Clause: free to use, modify, and redistribute with attribution and no endorsement of contributors.

In plain English

Cachet is an open source system for running a status page. A status page is the website that an online service shows to its customers when something is broken, slow, or under maintenance. It lists the parts of the service, says which ones are working, and gives a timeline of recent incidents. The README presents Cachet as a free replacement for paid services such as StatusPage.io and Status.io, with the difference that anyone can download the code and run it on their own servers. The code is written in PHP and built on top of Laravel, a popular PHP web framework. Because Cachet is self-hosted, the README lists what a server needs in order to run it: PHP 5.5.9 or newer, the Apache or Nginx web server, and Composer for managing PHP libraries. It can store its data in MySQL, PostgreSQL, or SQLite, so operators can pick the database that suits them. The feature list inside the README is short and concrete. Operators can define the components of their service, log incidents against them, and write incident updates using Markdown formatting. The page can be customised with extra CSS. There is a JSON API for talking to Cachet from other programs, a metrics feature, and a subscriber system that emails people when something changes. Two factor authentication is supported through Google Authenticator. The interface has been translated into eleven languages, with translations managed through a Crowdin project. The README also gives guidance for contributors. Non-developers are pointed at translation work, bug reports, and documentation. Designers are told how to set up Node.js, Bower, and Gulp so they can edit the SCSS stylesheets. Developers are given instructions for seeding a demo database with the command php artisan cachet:seed. Useful side notes: the maintainers warn that running the master branch in production is not recommended because it can change at any time, and they suggest using tagged releases instead. Installation guides and Docker instructions live at docs.cachethq.io. A public demo dashboard, reset every half hour, is offered with a test login. The project is released under the BSD-3 license, and the team also offers a paid installation service starting at 99 dollars.

Copy-paste prompts

Prompt 1
Set up Cachet locally with Docker and seed the demo database with php artisan cachet:seed
Prompt 2
Show me how to add a custom component group to Cachet and wire it to a webhook from my monitoring system
Prompt 3
Write a script that pushes incident updates to the Cachet JSON API when my health check fails
Prompt 4
Translate the Cachet UI strings into a new locale using the Crowdin workflow

Frequently asked questions

What is cachet?

Cachet is an open source self-hosted status page built with PHP and Laravel, with components, incidents, metrics, a JSON API, and email subscribers.

What language is cachet written in?

Mainly PHP. The stack also includes PHP, Laravel, MySQL.

What license does cachet use?

BSD-3-Clause: free to use, modify, and redistribute with attribution and no endorsement of contributors.

How hard is cachet to set up?

Setup difficulty is rated moderate, with roughly 1h+ to a first successful run.

Who is cachet for?

Mainly ops devops.

Open on GitHub → Explain another repo

This repo across BitVibe Labs

Verify against the repo before relying on details.