Hi everyone,
I’ve been working on an open-source project called BetterStatusPage.
The idea is to provide a practical, self-hosted monitoring and status page platform for small teams, homelabs and personal infrastructure — without requiring PostgreSQL, Redis, Kubernetes or a monthly SaaS subscription.
It currently runs as:
- a single Node.js 22 process,
- with SQLite persistence,
- deployable through Docker Compose,
- with built-in backups and offline restore.
The project is currently in the MVP stage, but the main functionality is already implemented.
Monitoring
BetterStatusPage currently supports:
- HTTP/HTTPS checks, including status codes, response times and response body keywords,
- Basic Auth, OAuth2 and CAS authentication flows,
- ICMP ping and TCP port checks,
- DNS monitoring for A, AAAA, MX, CNAME and TXT records,
- SQL Server test queries,
- passive webhook monitoring for cron jobs and external services.
Notifications
Alerts and recovery notifications can be sent through:
- email,
- generic webhooks,
- Discord,
- Slack,
- Microsoft Teams.
Failed notification deliveries are retried automatically and can later be inspected or retried manually from the admin panel.
Status page and incident management
The public status page is built using a drag-and-drop grid editor. You can add monitor cards, service groups, Markdown blocks and an incident feed without writing custom CSS.
The application also supports:
- incidents with severity levels and affected monitors,
- incident updates,
- scheduled maintenance windows,
- suppression of alerts during maintenance,
- monitor dependencies to reduce duplicate alerts,
- real-time updates through Server-Sent Events,
- uptime history,
- custom branding and dark mode,
- multiple languages,
- user roles,
- an audit log with field-level changes.
There is also an encrypted AES-256-GCM secrets vault, so credentials and tokens do not need to be stored directly in monitor configurations.
Why I built it
I wanted something more capable than a simple uptime checker, but still easy to deploy and maintain.
For many small environments, requiring a separate database server, cache, queue and several containers creates more operational work than the status page itself should require.
With BetterStatusPage, the intended deployment experience is essentially:
docker compose up -d
The entire application is served through one process and one port.
Looking for feedback and testers
I’m currently looking for people willing to:
- try deploying it,
- test it in a homelab or small production environment,
- report bugs,
- review the security and deployment approach,
- suggest missing monitor types or integrations.
I’m especially interested in feedback about:
- installation and upgrade experience,
- UI and configuration usability,
- notification reliability,
- features required before you would consider using it seriously.
GitHub:
https://github.com/BElluu/BetterStatusPage
The project is licensed under MIT.
Any feedback, issue reports, stars or contributions would be greatly appreciated.
Top comments (0)