Self-Hosted Cachet: The Status Page Your Clients Check Before Calling You

Your API went down at 2pm. Clients flooded support. Your team posted in Slack — which half of them mute. Someone asked "is there a status page?" and you linked a Google Doc that took four minutes to load on mobile. Professional.

Cachet is the dedicated answer. ~15k GitHub stars, the original open-source status page system, and still what many organizations reach for when they need a public-facing incident board — components, scheduled maintenance, subscriber emails, and a dashboard your ops team can update without deploying code.

What it actually does

Cachet is a status page platform, not a monitor. It tells people what's happening; something else (usually) detects the outage.

Components. Group your stack — API, web app, payments, email delivery — each with its own green/yellow/red state. Component groups keep large catalogs readable.

Incidents. Post outages with title, severity, and timeline updates as you investigate. Incident templates for recurring scenarios ("database failover in progress"). Subscribers get emailed when status changes.

Scheduled maintenance. Announce windowed work ahead of time so customers don't panic when you reboot Postgres at midnight. Update the schedule as you go.

Metrics. Optional charts — response times, queue depth, whatever you push via the API. Nice when you want more than a traffic light.

API and webhooks. Full REST API to automate component status from your monitoring stack. Webhooks when incidents open or resolve — wire into n8n or Slack if email isn't enough.

Customization. Branding, themes, your domain on status.clientname.ca. Looks like you built it, because you did.

v3 is a Laravel + Vue rebuild under active development (creator James Brooks reclaimed the project in 2023). Demo at v3.cachethq.io. Production installs today often run v2.x or migrate toward v3 — check docs.cachethq.io for current guidance before you pick a branch.

Cachet vs Uptime Kuma

We covered Uptime Kuma — it monitors endpoints and ships built-in status pages.

When to use which:

  • Uptime Kuma alone — small homelab or agency stack where one tool doing checks + a simple public page is enough
  • Cachet — you want a polished, incident-focused status experience with subscriber lists, maintenance schedules, and manual narrative control during complex outages
  • Both — Kuma detects problems, Cachet communicates them (via API or human updates). Common in shops that separate "what broke" from "what we tell customers"

Cachet won't ping your URLs every 20 seconds. Pair it with Kuma, Beszel, or external monitoring — then point the public at Cachet.

Why self-host?

Your outage comms stay on your infrastructure. Status page content reveals what you run, what's fragile, and when you're vulnerable. Self-hosted on a Canadian VPS beats a US SaaS status vendor holding that narrative.

No per-subscriber fees. Statuspage.io-style pricing scales with components and SMS add-ons. Cachet on a box you already pay for — email subscribers via your SMTP.

Client-facing polish. Agencies hosting client apps can give each a branded status subdomain without another monthly SaaS line per client.

Transparency on your terms. Post exactly what PIPEDA-conscious clients need — not what a template forces. Hide internal component names if you want; expose only customer-visible services.

What running it takes

Cachet v3.x: PHP 8.2+, Composer, MySQL/MariaDB/PostgreSQL/SQLite, Laravel stack. Manual install from the 3.x branch per official docs — clone, composer install, migrate, cron for scheduler, TLS in front.

v3 docs note the release is still maturing — evaluate stability for your timeline. Many run v2 until v3 stabilizes; migration guide exists on docs.cachethq.io.

Plan a separate subdomain (status.yourdomain.ca) that stays up when your main app doesn't — status pages on the same dying server miss the point. Lightweight VPS in Canada works; Cachet is PHP, not a Chrome-hungry scraper.

Integrations include Oh Dear import. Push component status from scripts or monitoring via API keys documented in the v3 configuration guides.

Who it's for (and who should skip it)

Good fit: SaaS teams needing public incident communication, agencies offering client status pages, orgs with scheduled maintenance windows, anyone who outgrew "we'll tweet when it's fixed."

Maybe skip it: you only need uptime checks — Uptime Kuma's built-in status page is simpler. You won't maintain PHP, database, and cron — hosted status SaaS might be worth the fee. You have three services and zero external customers — a static HTML page might suffice.

Hosting it in Canada

Cachet belongs on a reliable subdomain with TLS and SMTP for subscriber alerts. We deploy status stacks on Canadian hosting — often alongside monitoring on the same network, status page on a resilient host.

Tell us how many components and subscriber lists you're planning — we'll size the box and help you keep the status page reachable when production isn't.

Tags:
  • Cachet
  • Status Page
  • Incidents
  • Monitoring
  • Self-Hosted

Need Help With Your Hosting?

Tell us about your application — we respond within 1 hour with honest recommendations.