Compare Cachet 30 August 2026

A Cachet alternative that keeps your Cachet scripts

Cachet was the self-hosted status page for the better part of a decade, and a lot of hosting companies still run it. Its 2.x line has had no release since 2023, and the 3.x rewrite is not open source. Pharos is an AGPL-3.0 status page that runs its own checks and speaks the Cachet 2.x API on purpose — so the scripts, n8n flows and Zabbix actions you built against Cachet keep working while the page underneath them stops waiting for a human.

What happened to Cachet

Cachet 2.x is a BSD-licensed PHP application, which is exactly why it ended up on so many cPanel and Plesk accounts: it ran where the hosting already was. It also never checked anything. A component turns red because a person made it red, so the page is usually still green while the site is down. One incident covers one component, so a hypervisor failure that takes four customer sites with it is logged four times, or once while ignoring three.

Development on the 2.x line stopped; the last release dates from 2023, and the PHP it targets is one hosts are steadily retiring. The 3.x rewrite that followed is source-available rather than open source: its licence forbids removing its notices and forbids distributing it as a standalone product, which rules it out for anyone reselling hosting or putting their own name on the page. As of August 2026 there is no stable 3.x release to compare against, so the table below says “not published” where that is the honest answer.

That leaves a Cachet 2.x operator with two bad options: keep running unmaintained code on a PHP version that is going away, or move to a product with a licence that no longer allows what you were doing with it. Pharos exists to be the third option.

What Pharos does differently

  • It checks itself. HTTP, TCP and heartbeat probes run from one cron line. Two failed checks turn a component red and open an incident with the probe error as the first update; three healthy checks in a row close it and post the closing update. Nobody types anything.
  • One incident, many components. Each attached component carries its own status, and resolving the incident puts them all back to operational.
  • Subscribers that confirm. A Get notified button on the page, double opt-in with a signed 24-hour link, one mail per incident update, one-click unsubscribe. Sending runs from the same cron line, through your own SMTP.
  • Signed updates with a way back. Releases carry an Ed25519-signed manifest. On a PHP host Pharos verifies the checksum, snapshots the current version and replaces its own files; you can roll back from the same screen.
  • It runs where Cachet ran. PHP 8.3 or newer, SQLite by default or MySQL, one cron line, no daemon and no queue worker — cPanel, DirectAdmin, Plesk, compatible PHP hosting, or Docker.
  • Same API shape. /api/v1/components and /api/v1/incidents, the same status integers, and X-Cachet-Token accepted everywhere a Bearer token is.

Cachet and Pharos, side by side

 PharosCachet 2.xCachet 3.x
MaintainedYes — latest release 0.5.10Last release 2023No stable release published
PHP version8.3 or newerThe PHP of its last release; not updated sinceNot published
Installs on cPanel, DirectAdmin, PleskYes — web installer without SSH, or one commandYes, by handNot published
Runs its own checksHTTP, TCP, heartbeatNo — status set by hand or by your scriptsNot published
Opens and closes incidents itselfYesNoNot published
One incident, many componentsYes, each with its own statusOne component per incidentNot published
E-mail subscribersDouble opt-in, one-click unsubscribeYesNot published
UpdatesSigned, one click, backup and rollbackBy handNot published
APICachet-shaped (components, incidents)The originalNot published
LicenceAGPL-3.0BSD-3-ClauseSource-available; no standalone distribution

Comparison based on public information, August 2026. “Cachet” is a trademark of its owner, used here only to identify the product compared.

Moving from Cachet today

There is no importer yet. It is a planned feature — issue #6 on GitHub tracks it — and until it ships, moving means writing your data in through the API. Because the status integers match, that is a short script rather than a project. In order:

  1. Install Pharos next to Cachet. A subdomain on the same account is enough; the web installer needs no SSH. Cachet stays up until you switch the hostname.
  2. Recreate services and components. What Cachet called a group, Pharos calls a service; components live inside it. Do it in the admin or POST them in. Then give each component a source — Built-in check with a URL or host:port, or Heartbeat for jobs nothing can poll — so the watching Cachet never did starts immediately.
  3. Point your scripts at the new host. Reads need no token. Writes accept the header you already send:
    curl -sX PUT https://status.example.com/api/v1/components/1 \
      -H "X-Cachet-Token: $TOKEN" \
      -H "Content-Type: application/json" \
      -d '{"status": 4}'
    POST works as an alias for PUT on a component, as it did in Cachet.
  4. Edit the one call that differs. Cachet created an incident with an integer status and a single component; Pharos takes a status name and a components object, so one incident can cover several things at once:
    curl -sX POST https://status.example.com/api/v1/incidents \
      -H "Authorization: Bearer $TOKEN" \
      -H "Content-Type: application/json" \
      -d '{"name": "Mail relay unreachable",
           "status": "investigating", "impact": "major",
           "components": { "7": "major_outage", "8": "degraded" }}'
  5. Know what is missing. Component groups, metrics, subscribers, actions, ping, version, and fetching or deleting a single incident have no endpoint here. There are no pagination parameters: components come back in one page, incidents are capped at the 50 most recent.
  6. Let subscribers confirm again. Pharos never mails an address that has not clicked its confirmation link, and there is no list import, so your subscribers re-subscribe through the Get notified button on the new page.
  7. Switch the hostname. Past incidents worth keeping can be re-posted with Occurred at set to the original date; the public page groups them by that day.

Where Cachet is the better choice

Stay on Cachet if your integrations lean on the endpoints Pharos does not have — component groups, metrics, or managing subscribers over the API. Stay if your host cannot give you PHP 8.3; Pharos will not start on anything older. And if the licence terms of Cachet 3.x are no problem for you and you would rather follow that project than change products, that is a reasonable position; this page only says what is published, and it says so plainly where nothing is.

Questions people ask

Does Pharos import my Cachet database?

Not yet. A Cachet importer is a planned feature, tracked as issue #6 on GitHub. Today you recreate services and components in the admin or write them in through the API; the matching status integers make that a short script rather than a project.

Will my existing Cachet API scripts keep working?

Anything that reads or sets components keeps working unchanged: same paths, same envelope, same status integers, and X-Cachet-Token is accepted next to Authorization: Bearer. Scripts that create incidents need one edit, because Pharos takes a status name and a components object instead of an integer and a single component.

Is Pharos free?

The core is AGPL-3.0 and free, with monitoring, incidents, notifications and updates included, without seat limits. Three optional things are paid: a one-off Brand pack for €79, a Supported plan at €149 a year, and a commercial licence from €599 a year for organisations that modify Pharos and would rather not publish the change.

Can I run Pharos on the host where Cachet runs now?

If that host offers PHP 8.3 or newer, yes, and the web installer needs no SSH. The two can run side by side on different subdomains until you switch the hostname over.

Try it on a subdomain first. The install guide covers cPanel, DirectAdmin, Plesk, compatible PHP 8.3 hosting and Docker; every release, its signed zip and a pinned copy of the web installer are on the releases page. The core is free and stays free.

Install Pharos   Releases & downloads