OPEN SOURCEApache-2.0 and available now on GitHub

Stop renting your status page.
Own it.

SignalHub is an open-source, self-hosted status page with uptime monitoring and incident communication built in. One container, one PostgreSQL database, running on servers you control.

Privacy first: SSO, SCIM, MFA and audit log included at no cost.
$0license fee, forever
$0per subscriber, page or seat
0 bytesof telemetry, ever
Why it exists

Hosted status pages bill you for your own customers.

The more people trust your status page, the more you pay for it. SignalHub removes the meter — and the middleman holding your data.

Your bill grows with every subscriber.
SignalHub: no per-subscriber, per-page or per-seat fees.
Your customer list and incident history live on their servers.
SignalHub: stored in your PostgreSQL, encrypted, never phoned home.
SSO, SCIM and private pages sit behind paid tiers and sales calls.
SignalHub: included in every install, open to inspection.
Monthly list price · one public page1,000 subscribers
Atlassian Statuspage≈ $99
Better Stack$0
SignalHub$0
At 1,000 subscribers, Statuspage’s list price adds up to ≈ $1,188 a year SignalHub: no license fee. You pay only for your own server, database and email or SMS provider.
See it work

From failed check to informed customer in 30 seconds.

Monitoring and communication live in one product, so the check that notices a problem is the same one that tells people about it. Watch the demo run.

14:02:11
HTTPS check fails
30 s
14:02:41
Subscribers notified
checkout.estoraLIVE
63ms
Response time, last 30 checks
NotificationsNothing to send
Email—
SMS—
Slack—
What SignalHub didautomatic
HTTPS check failed14:02:11
checkout timed out three times in a row
Component degraded14:02:12
Public API (EU) set to Degraded performance
Incident published14:02:40
Elevated latency for EU API requests
Subscribers notified14:02:41
Email, SMS and Slack, in one send
Recovery confirmed14:19:05
Five consecutive passing checks
Incident resolved14:19:06
Timeline kept on the public history
Everything included

Enterprise features. No enterprise invoice.

Identity, access, audit and every channel ship in every install. Nothing is gated behind a sales call.

SAML SSO SCIM MFA Audit log Private pages REST API
Public, private and audience pagesIncidents and maintenance windowsPostmortemsEmail, SMS, webhook and RSS subscriptionsEmbeds, badges and your own domain7 monitor typesFailure and recovery thresholdsCertificate and domain expiry warningsUptime and response time metricsProduct hubs for many pages
Apache-2.0 licenseNo telemetry, no phone-homeAES-256-GCM for secretsHash-chained audit logSAML, OIDC and SCIMAuthenticator MFAScoped API keys and OpenAPIsignalhubctl doctor and preflightMany organizations on one installOrganization export, no lock-in
7monitor types
8SMS providers
23team destinations
15deployment targets
1 + 1container and database
How it works

Detect. Decide. Tell. Show. On autopilot.

HTTP, TCP, DNS, SSL, keyword, ICMP and heartbeat checks run from your own worker, with thresholds so one blip is not an outage.

Monitors · checked from your worker7 types
WebsiteHTTPS48 ms
Public API (US)HTTP71 ms
checkout.estora.example.testHTTPSTimeout
db-primary:5432TCP3 ms
nightly-backupHeartbeaton time
HTTPS check failedTimed out three times in a row — thresholds mean one blip is not an outage.
HTTPTCPDNSSSLKeywordICMPHeartbeat
One product

Four jobs. One container.

Status pages, uptime monitoring, governance and operations ship together in every SignalHub install.

Communicate

  • Public, private and audience-restricted pages
  • Product hubs that roll up many pages
  • Incidents, maintenance windows and postmortems
  • Email, SMS, webhook and RSS subscriptions
  • Embeds, badges and your own domain

Detect

  • HTTP, TCP, DNS, SSL, keyword, ICMP, heartbeat
  • Failure and recovery thresholds
  • Certificate and domain expiry warnings
  • Proxies and authenticated checks
  • Response time and uptime metrics

Govern

  • SAML, OIDC and SCIM provisioning
  • Authenticator MFA with approved recovery
  • Four roles, ten capabilities, per-page limits
  • Tamper-evident audit log with SIEM delivery
  • Retention and organization export

Operate

  • Many organizations on one install
  • Scoped API keys and an OpenAPI spec
  • signalhubctl for doctor, preflight and setup
  • Setup wizard or environment-only config
  • Upgrades with migrations on start
Privacy first · Data ownership

Your customer list stays under your control.

Hosted status pages keep your subscribers, incident history and audit trail on their servers. SignalHub stores these records in your infrastructure.

People
Your customersStatus pages and subscriptions
Your teamConsole through your SSO
Your infrastructureYOUR BOUNDARY
SignalHub webPages, console, API
SignalHub workerChecks, alerts, exports
PostgreSQLSubscribers, incidents, audit
Telemetry to the vendor0 bytes
Providers you choose
Email provider19 presets or SMTP
SMS provider8 supported
Team chat and pagingSlack, Teams, PagerDuty
Your SIEMSigned audit delivery

Delivery providers receive only the contact and message data needed to send the notifications you enable.

No lock-in

Nothing phones home. Nothing locks you in.

Your subscribers, incidents and audit trail stay in one PostgreSQL database you own. Back it up, export it, or leave whenever you like.

No telemetry, no phone-home

Nothing is sent to us. There is no “us” in the loop at all.

Outbound traffic is guarded

Checks and webhooks pass SSRF guards and a network policy you control.

Secrets stay encrypted

Provider credentials and subscriber contacts use AES-256-GCM, with keys kept outside the database.

Back up and leave any time

One PostgreSQL database and an organization export. No lock-in to unwind.

Price and features

Paid status pages charge per subscriber. SignalHub doesn’t.

Monthly list prices for one public page, from each vendor’s official pricing page. Pick your audience size.

Monthly price at 5,000 subscribers
SignalHubSelf-hosted · Apache-2.0
$0a month
Atlassian StatuspageGrows with subscribers
≈ $399a month
Better StackGrows with subscribers
$160a month
InstatusGrows with subscribers
$20a month
incident.ioBasic plan · $19 per responder
$0a month
Kept every year
$4,788

versus Atlassian Statuspage’s list price at 5,000 subscribers. Your status page, without the meter running.

No license fee. Infrastructure costs still apply: plan for a small server, PostgreSQL and your email or SMS provider.
Feature by feature

SignalHub and paid status pages, side by side.

Price and feature comparison of SignalHub, Atlassian Statuspage, Better Stack, Instatus and incident.io
FeatureSignalHubAtlassian StatuspageBetter StackInstatusincident.io
1,000 subscribers$0≈ $99 a month$0, free tier$20 a month$0, Basic plan
5,000 subscribers$0≈ $399 a month$160 a month$20 a month$0, Basic plan
25,000 subscribers$0≈ $1,499 a month$960 a monthNot published$0, Basic plan
Price grows with subscribersNoYesYesYesNo, $19 per user
DeliverySelf-hostedSaaSSaaSSaaSSaaS
LicenseApache-2.0ProprietaryProprietaryProprietaryProprietary
Built-in monitoring7 types———Alerts from your tools
Subscriber email, SMS and webhooksIncludedCapped by planAdd-ons past 1,000Capped by planEmail, Slack and RSS
Private and audience pagesIncludedSeparate plans from ≈ $79$50 per pageBusiness tierPro and Enterprise
SAML, OIDC and SCIMIncludedPaid tiers$250 per pageBusiness tierSAML on Pro, SCIM on Enterprise
Many organizations on one installIncludedn/an/an/an/a

Prices checked 13 to 19 October 2026. Statuspage, Better Stack and Instatus grow with subscribers; incident.io charges per responder. Where a feature couldn’t be verified, no claim is made. Sources and the full comparison

Fair comparison

When another tool is the better choice.

Self-hosting trades operations work for control and cost. These are the cases where a hosted product is the better fit.

You don’t want to run anything.

A hosted product removes the operations work. SignalHub trades that for control and cost.

You need probes from many regions.

Checks run from wherever your worker runs. Run several workers, or push results in through the API.

You need a translated status page.

The interface is English only today.

You need a vendor’s compliance report.

Self-hosting makes the controls possible. It doesn’t produce a vendor attestation.

Security controls

Security your auditors can read the source of.

Identity, access and audit controls ship in every install. Nothing is gated behind a sales call, and every control is open to inspection.

Single sign-on and provisioning

SAML 2.0 and OIDC for sign-in, SCIM to add and remove people from your identity provider.

Authenticator-app MFA

Require codes for everyone. Lost devices go through an administrator-approved recovery, never a support ticket.

Tamper-evident audit

Every sign-in, setting change and admin action is written to a SHA-256 hash chain you can verify and stream to your SIEM.

Guarded outbound traffic

Private network targets are blocked by default. Internal monitoring requires an explicit opt-in; webhook network permissions are separate.

Audit log · SHA-256 hash chain (illustration)SIEM · CSV · JSON
user.signed_in
hash 9f2c41…
prev 3e07aa…
setting.changed
hash 41ab7e…
prev 9f2c41…
role.granted
hash c07e9d…
prev 41ab7e…
api_key.created
hash e5d102…
prev c07e9d…
org.exported
hash 7b1f0c…
prev e5d102…
Each entry commits to the one before it — any edit breaks the chain.
Deployment

Running in the time it takes to read this page.

One command starts SignalHub and a setup wizard does the rest: it tests your database, generates secrets and creates your first administrator.

Docker ComposeKubernetesNode.jsRenderRailwayFly.ioDigitalOceanAWSGoogle CloudAzure
$git clone https://github.com/rameshbgm/signalhub.git
$cd signalhub
$./install.sh
$
Three questions: your domain for automatic HTTPS, bundled or existing PostgreSQL, browser or terminal setup.
Answers

Questions teams ask about SignalHub.

What is SignalHub?

An open-source, self-hosted platform for status pages, uptime monitoring and incident communication. It runs on your own infrastructure as one container plus PostgreSQL, under the Apache-2.0 license, with no per-subscriber, per-page or per-seat fees.

Is SignalHub free to use?

Yes. There is no license fee and no per-subscriber, per-page or per-seat charge. You pay only for the server, the PostgreSQL database and the email or SMS provider you run it with.

Is it a self-hosted alternative to Atlassian Statuspage?

Yes. SignalHub covers public, private and audience-restricted status pages, subscriber notifications, incidents, maintenance windows and postmortems, but runs on your servers. Statuspage lists about $399 a month for 5,000 subscribers; SignalHub costs only your infrastructure.

Where is subscriber and incident data stored?

All subscribers, incidents and audit records live in your own PostgreSQL database. Provider credentials and subscriber contacts are encrypted with AES-256-GCM, with keys kept outside the database. SignalHub sends no telemetry and never phones home.

Is the audit log tamper-evident?

Yes. Every sign-in, setting change and administrator action is written to a SHA-256 hash chain you can verify. Audit events can be streamed to your SIEM and exported as CSV or JSON for auditors.

How are subscribers notified during an incident?

Subscribers receive updates by email, SMS, webhook or RSS. Your team is alerted in Slack, Microsoft Teams, PagerDuty and 20 more destinations. SignalHub supports 8 SMS providers and 19 email presets, or any SMTP server.

How do I install it, and where can it run?

Clone the GitHub repository and run ./install.sh on a Linux server, or start it with docker compose up -d. It runs on Docker Compose, Kubernetes, Node.js 22.9+, Render, Railway, Fly.io, DigitalOcean, AWS, Google Cloud and Azure, with PostgreSQL 14 or newer.

When is SignalHub not the right choice?

Choose a hosted tool if you do not want to run servers, need probes from many regions, need a translated status page or require a vendor compliance report. The interface is English only, and checks run from your own worker.

Open source, Apache-2.0

Own the page your customers check when things go wrong.

Free forever. Private by design. Running on your servers in minutes.