Docket

SELF-HOSTING

Self-hosted status page tools

Sort self-hosted status page tools by what you actually have to run rather than by star count, and the honest leader turns out to have no server at all.

7 MIN READ Last updated 23 August 2026

The self-hosted status page tool with the least to run is not the most popular one. Upptime checks run on GitHub Actions, incidents are GitHub Issues, and the public page is static on GitHub Pages, so there is no server and no database anywhere. Everything else here asks you to run something, and how much is the real choice.

Licences, star counts and repository activity were checked against each project's own GitHub repository on 22 August 2026, and hosted prices against each vendor's own pricing page the same day.

Status pages are a different category to a feature request board, but the self-hosting maths underneath is the same one this site works through in self-hosting a feature request board.

What do you actually have to run?

Sorted by infrastructure, lightest first, because that is what a small team is actually choosing between.

ToolWhat it needsLicenceStars, checked 22 Aug 2026
UpptimeNothing. No server, no databaseMIT17,142
GatusA YAML config file; in memory unless you add SQLite or PostgresApache-2.011,882
Uptime KumaDocker or Node 20.4+; SQLite by defaultMIT90,467
CachetPHP, a web server, ComposerBSD-3-Clause15,224
OpenstatusSelf-hostable; stack not verifiedAGPL-3.09,002
Statping-ngDocker, but not maintainedGPL-3.01,988

Cachet is worth a second look before you trust its repository badge: GitHub reports the licence as NOASSERTION, which reads as "unclear", but the project's own LICENSE file is plainly BSD-3-Clause. GitHub's detector missed it; the file did not change. Read the LICENSE file itself rather than the badge. Openstatus is AGPL-3.0 and also sells its own hosted version, so it sits in open-core territory: check directly what the free self-hosted build includes rather than assuming.

Why does Upptime deserve to lead this list?

Because it removes the question rather than answering it well. A scheduled GitHub Actions workflow runs the checks, incidents live as GitHub Issues, and GitHub Pages serves the built page, so there is no process to keep alive. Upptime's own README states the case plainly: it is "completely free if you're already using GitHub since there's no external server or subscription needed." That is the same argument this site makes about a support centre, made independently, in a different category, and the honest move is to credit Upptime for it rather than claim it as original to Docket, which has no stake here.

Its limits matter too. Incidents are GitHub Issues, not a purpose-built timeline with severity levels or subscriber-facing updates, and running on GitHub Actions and Pages means your status page's own uptime is now GitHub's, a real irony for a tool whose whole job is reporting on uptime. Both are the price of nothing to run yourself.

Why is Uptime Kuma the popular full-featured option?

At 90,467 stars, checked 22 August 2026, Uptime Kuma is by a wide margin the most starred project here. MIT licensed, it runs from Docker or Node 20.4 or later with SQLite by default, and it was pushed as recently as 22 August 2026, so it is actively maintained as well as popular. It gives you an admin interface, notification integrations and a monitor dashboard in one running application: a process to operate, in exchange for a full UI rather than a repository of YAML.

What about Gatus and Cachet?

Gatus is the config-file option. Apache-2.0, 11,882 stars at the time of checking, pushed as recently as 18 August 2026, running from a YAML file with checks held in memory unless you add SQLite or Postgres. That makes it the lightest option still running as a process, useful for a team happier editing YAML than clicking through a UI.

Cachet is the heaviest to stand up: PHP, a web server and Composer, 15,224 stars at the time of checking. It predates most of the others here, but a PHP stack is more moving parts than Gatus, Uptime Kuma or Upptime ask for.

Is Statping-ng still alive?

Not really, and this is the cautionary tale in this list. It is not archived, so a listicle checking only that will happily call it live. But its last push was 4 June 2025, and it carries 194 open issues. GPL-3.0, 1,988 stars at the time of checking, Docker to run. Neither figure says anything about whether anyone is behind it now. Read the last commit date before deploying anything here, not the badge and not the star count.

What do the hosted options cost?

For teams who would rather pay than run any of the above.

VendorFree tierEntry paid tierNotes
Atlassian Statuspage100 subscribers, 25 components$29/mo (Hobby)Startup $99/mo, Business $399/mo, Enterprise $1,499/mo
Better Stack10 monitors, 1 status pagePriced as add-ons, not tiersExtra status page $15/mo, white label $250 per page per month, SSO $250 per page per month
Openstatus1 monitor, 1 status page (Hobby)$30/mo (Starter)Pro $100/mo, Scale $500/mo
Instatus15 monitorsNot confirmedPaid prices render client-side and were not verifiable

Atlassian Statuspage's ladder is the clearest published shape here: four fixed tiers from free up to $1,499 a month, each unlocking more subscribers and components. Better Stack does something more unusual: rather than tiers that bundle features together, a status page is priced per feature. A second status page is $15 a month on its own, white labelling $250 per page per month, SSO another $250 per page per month, each an independent line rather than a step up a ladder. That matters when comparing headline numbers, because a similar entry price can hide very different totals once you add what you actually want. Better Stack's base plan price and Instatus's paid tiers could not be confirmed; both render client-side rather than in the raw HTML.

Your own support centre, in your own repository

One payment, no subscription, unlimited products.

Which one should you actually run?

Already using GitHub for the product this status page reports on? Upptime costs nothing extra to operate, once you accept that incidents are Issues and your uptime now includes GitHub's. Want a full admin interface and do not mind Docker or Node running somewhere? Uptime Kuma is the popular, actively maintained default. Prefer editing a config file over clicking through a UI? Gatus is the lighter option. Skip Statping-ng regardless of what a search result says about it being unarchived; 194 open issues and no push in over a year is not a tool to build on. Want nobody on your side operating anything? Atlassian Statuspage or Openstatus are the two vendors here whose pricing you can actually read before signing up.

Whether a page has to be backed by a running process at all is worked through for a different category in static site or server, and the failure profile of each shape, static against self-run against hosted, is broken down in uptime, static against hosted.

Frequently asked questions

Is Upptime really free to run?

Free of a separate server or subscription, yes, if you are already using GitHub. Checks run on free GitHub Actions minutes, the page builds to GitHub Pages, and incidents are tracked as GitHub Issues. Its own README: "completely free if you're already using GitHub since there's no external server or subscription needed." What you give up is a purpose-built incident timeline and independence from GitHub's own uptime.

What does Uptime Kuma need to run?

Docker or Node 20.4 or later, with SQLite as the default database. MIT licensed, 90,467 stars at the time of checking, pushed as recently as 22 August 2026, making it both the most popular and one of the most actively maintained tools here.

Is Statping-ng safe to deploy?

Not something worth building on right now. It is not archived, so it still shows up as a live option in a quick search, but its last push was 4 June 2025 and it carries 194 open issues. GPL-3.0, 1,988 stars at the time of checking. Read the commit history rather than trust a listicle that only checked whether the repository was archived.

Why does Cachet show as NOASSERTION on GitHub if it is BSD-3-Clause?

GitHub's automatic licence detector sometimes cannot confidently match a LICENSE file to a known licence, which is what NOASSERTION means. Cachet's own LICENSE file is plainly BSD-3-Clause; the badge is a detection gap, not a change to the terms. Read the LICENSE file directly rather than trust the badge.

Is a hosted status page tool ever worth it over self-hosting?

Depends what you are paying for. Atlassian Statuspage publishes a clear four-tier ladder up to $1,499 a month for a known cost and nothing to run. Better Stack prices status pages as separate add-ons, extra pages, white labelling and SSO each billed on their own, which can cost more or less than a tiered vendor. Weigh that against Upptime or Uptime Kuma, both free to run and both requiring you to notice if something breaks.