Self-hosted · Multi-tenant

Find out it's down before your users do

Uptime, SSL certificates, domains and CI status across every project you run, in one dashboard. Honest statuses, configurable thresholds, and credentials that never leave your server.

No credit card. Your API credentials are stored per tenant and never displayed.

Build status

Actions and check runs, resolved into one verdict.

Passing
Failing
Running
No data

Everything in one place

The checks that usually mean four separate tabs, on one screen.

Uptime that tells the truth

Monitors are aggregated into a single status, and a genuinely down monitor is never reported as operational. One badge answers the only question that matters.

SSL expiry, early enough to act

Certificates are scanned on a schedule and compared against warning and critical bands, so you find out while replacing one is still a five-minute job.

Domains and WHOIS

Registrar, expiry date and auto-renew flag for every domain you hold, counted in calendar days so the warning lands when it can still be acted on.

CI and deploy status

Reads GitHub Actions and check runs, so a red external build counts even when Actions is green. Last deploy comes from the run that actually shipped, on the branch that actually ships it.

Thresholds you control

Warning and critical bands are set per tenant through an admin screen, validated on entry, and applied everywhere they are displayed.

Integration health

A panel showing whether each upstream service is actually reaching you, so a silent provider outage never presents as a healthy dashboard.

How it works

No agents to install, nothing to expose to the internet.

  1. Step 1

    Connect what you already use

    Bring your own UptimeRobot, SSL and GitHub credentials. They are stored per tenant and never sent back to the browser.

  2. Step 2

    Sentinel polls and normalises

    Every fetch runs on the same retry policy and the same typed failure, and each reading is normalised so a change upstream cannot silently flip a status.

  3. Step 3

    See what is actually broken

    Per-project badges and a dashboard-wide rollup surface failures, including ones on projects you are not currently looking at.

Built to keep your keys

Sentinel reads from third-party services. It has no reason to show their credentials to anyone, so it does not.

Multi-tenant by design

Tenant isolation is enforced in the query layer, not by convention.

Credentials stay yours

Only ever reported as configured. Never rendered back to the browser.

Super admin visibility

A deliberate, read-only cross-tenant view for operators.

Built for a phone

Long domains and project names wrap instead of forcing a scrollbar.

Point it at something and see

Set up your first tenant, connect an integration, and let the schedule do the rest.