A public status page tells your users whether your service is up or down without them having to email support. It builds trust, reduces support tickets during incidents, and gives you a professional place to communicate outages and maintenance windows.
Most teams avoid setting one up because they see Atlassian StatusPage's $29/month price tag and assume that's the cost of entry. It isn't.
Here's how to set up a public status page for free — or very cheaply — in 2026.
What a Good Status Page Needs
Before choosing a tool, know what you actually need:
- Real-time status — shows current up/down state for each component
- Incident history — past incidents with timeline and resolution
- Subscriber notifications — users opt in to email/SMS alerts
- Automatic updates — ideally tied to your monitoring tool, not manual
-
Custom domain —
status.yourcompany.com, not a third-party URL
Option 1: Vigilmon (Monitoring + Status Page)
Vigilmon monitors your services and automatically updates your status page when it detects downtime. This is the most low-maintenance option because you don't have to manually update your status page during an incident — Vigilmon does it.
Setup steps:
- Sign up at vigilmon.online
- Add monitors for your services (website, API, database health, etc.)
- Enable the public status page in your account settings
- Configure a custom domain (e.g.,
status.your-company.com) - Share the URL with your users
When Vigilmon detects downtime across multiple regions, it automatically marks the affected component as "Degraded" or "Major Outage" on your status page. When monitors recover, the status page updates automatically.
Cost: Free tier available
Option 2: Instatus + Your Existing Monitor
If you already use UptimeRobot, Pingdom, or Datadog for monitoring, Instatus connects to those tools and automatically reflects their alert states on a public status page.
Setup:
- Create an Instatus account (free plan available)
- Add your components (Website, API, Dashboard, etc.)
- Connect your monitoring tool via the integration
- Point
status.yourcompany.comto Instatus
Cost: Free plan (limited), $20/month (Starter)
Option 3: Upptime (GitHub-Native, Free)
Upptime is an open-source status page that runs entirely on GitHub. It uses GitHub Actions to ping your URLs, GitHub Issues to track incidents, and GitHub Pages to host the status page.
Setup:
- Fork the
upptime/upptimerepository - Edit
.upptime-config.ymlto add your URLs - Set repository secrets (GH_PAT token)
- Enable GitHub Pages on the repository
GitHub Actions runs checks every 5 minutes and opens an issue when something goes down. The status page updates automatically.
Cost: Free (uses GitHub's free tier limits)
Limitation: GitHub Actions rate limits; less polished UI than SaaS options
Option 4: Cachet (Self-Hosted)
Cachet is an open-source status page you deploy on your own server. Full control, no recurring SaaS cost, but you take on the hosting and maintenance.
# Basic Docker deployment
docker-compose up -d
Cost: Free (you pay for your server)
How to Configure Your Custom Domain
All major status page tools support custom domains. General process:
- Add a CNAME record in your DNS:
status.yourcompany.com CNAME yourapp.statuspage.io
- Enter your custom domain in the status page tool's settings
- Wait for DNS propagation (5–30 minutes)
Some tools also support wildcard SSL via Let's Encrypt on their end, so you don't need to provision a certificate.
What to Put on Your Status Page
Components to show (keep it user-visible, not technical):
- Website / App
- API
- Dashboard / User Portal
- Payment Processing
- Email Notifications
- Mobile App
Components to hide:
- Internal databases (users don't know or care about PostgreSQL)
- Internal microservices
- Your CI/CD pipeline
Incident communication template:
Title: Elevated API Error Rates
Status: Investigating
Body: We are investigating elevated error rates affecting a subset of API requests.
Our team is actively working on this issue. Updated in 30 minutes.
[Update 14:30 UTC] We have identified the root cause: a database connection pool
exhaustion caused by a traffic spike. We are rolling out a fix.
[Update 14:55 UTC] Fix deployed. Error rates have returned to normal.
We will post a post-mortem within 24 hours.
Subscriber Notifications
Most status page tools send email notifications to users who subscribe. Enable this and promote it:
- Add a "Subscribe to updates" link in your app footer
- Mention it in your documentation
- Post it in your community Slack/Discord
Users who opt in to status updates are less likely to flood support with "is the site down?" tickets during incidents.
Metrics: What Makes a Status Page Effective
A good status page:
- Updates within 5 minutes of an incident starting (automated is best)
- Provides an initial acknowledgment comment within 15 minutes of a major incident
- Includes resolution time and cause in the incident closeout
- Shows 90-day uptime history for each component
Get Started
The hardest part of setting up a status page is starting. Pick any of the tools above and spend 30 minutes setting it up today.
Start with Vigilmon for monitoring + status page in one tool: vigilmon.online.
Top comments (0)