Statup

A status page that never leaves your infrastructure.

Stop answering “is it down?” at the helpdesk. One Rust binary, on your own server.

Pre-v1, and this page says where that hurts.

View the source AGPL-3.0

The Statup dashboard: an open incident on the API, an upcoming maintenance, six services with thirty days of history, and a chronological activity list.
A running instance. Flip the theme above to see it in dark.
  • 1 binary to deploy
  • 1 file on disk
  • 0 services beside it
  • 0 calls to anyone else

What a hosted status page cannot say

Four facts, no asterisk
  • One binary, one file

    Rust and SQLite compiled together. Nothing else to run, back up or patch.

  • Your data never moves

    Services and incidents live on your own disk. Nobody else holds a copy.

  • Nothing loads from elsewhere

    Fonts and assets ship inside the binary, under a strict content security policy.

  • AGPLv3, and it stays that way

    Public source. The licence keeps it public for whoever redistributes it.

What it does today

Already in the binary, not on a roadmap
Service health
A status and thirty days of history, per service.
Incidents
Declare, update as you learn, resolve. The timeline stays.
Maintenance
Announce the window before it starts, with a countdown.
Changelogs
Not just up or down. What changed, and when.
Full-text search
“When did we last update Sage?” Answered in one query.
Three roles
Reader, Publisher, Admin. Guest access optional.
Two languages, two themes
French and English, light and dark.
Accessible
WCAG AA, visible focus, never colour alone.
A Statup incident page: severity and lifecycle, a plain-language description, and three timestamped updates from the team.
The updates posted while it was open. The record survives the fix.

Built for the person who is not an engineer

The two-second test

They arrive from a link in a support channel, on a phone, already annoyed. They have one question.

So a major incident is legible at arm’s length, and every coloured state carries a written label beside it. That is why the page is almost entirely neutral when nothing is wrong.

The Statup status page on a phone: a red incident banner filling the top of the screen, the affected service and how long ago it started.

What it does not do yet

Better here than after you deploy it
  • Notifications

    None yet. Email, webhooks and feeds are the largest gap before v1.

  • Unproven in production

    It has never run a full week on real infrastructure under real incidents.

  • Self-hosting only

    There is no hosted version, and statup.dev serves this page alone.

  • The schema still moves

    Expect migrations and reworks before the first stable release.

Running it

Docker, or build from source
Runtime
One binary. Docker and compose files in the repository.
Storage
Embedded SQLite, one file. No database server.
Config
One .env. Only the session secret is required.
Licence
AGPL-3.0.
Read the README

Questions

Is it free?
Yes, under the AGPL-3.0. Run it, read it, change it. Redistribute a modified version, or offer it over a network, and the same licence applies to your changes.
Does it need a database server?
No. SQLite is embedded in the binary and writes to a single file.
Does it send anything to statup.dev?
No. No telemetry, no update check, no third-party font or asset request at runtime.
Is this the older Statup?
No. An unrelated status page called Statup, written in Go, has been unmaintained for years. This one is a different codebase, written in Rust, started in 2026.

One repository away.

Nothing to sign up for, nothing to pay. Clone it and judge for yourself.

Open the repository