Yet Another Status Page
A modern, self-hosted status page built with Payload CMS and Next.js.
Features
- Incident management — track and communicate service disruptions
- Scheduled maintenance — plan and notify users about upcoming work
- Email & SMS notifications — automatic subscriber alerts via SMTP and Twilio
- Service groups — organize services into logical groups
- Modern UI — responsive status page with dark mode
- Self-hosted — full control over your data and infrastructure
- Kubernetes-native — official Helm chart with bundled Postgres, Ingress, NetworkPolicy, and PDB
- Container-friendly — multi-arch (amd64/arm64) image published to GHCR
Quick Start
The recommended way to deploy is the Helm chart on Kubernetes:
kubectl create namespace status
helm upgrade --install status \
oci://ghcr.io/hostzero-gmbh/charts/yet-another-status-page \
--namespace status \
--set serverUrl=https://status.example.com \
--set secret.payloadSecret=$(openssl rand -hex 32)
After the rollout, the status page is reachable at <serverUrl> and the admin panel at <serverUrl>/admin.
For evaluation on a single host, see Docker Compose. For local hacking, see Local Setup.
Architecture
┌─────────────────────────────────────────────────────────────┐
│ Yet Another Status Page │
├─────────────────────────────────────────────────────────────┤
│ Frontend (Next.js) │ Admin Panel (Payload CMS) │
│ - Status Page │ - Manage Services │
│ - Incident History │ - Create Incidents │
│ - Subscribe Form │ - Schedule Maintenances │
│ │ - Send Notifications │
├─────────────────────────────────────────────────────────────┤
│ PostgreSQL Database │
└─────────────────────────────────────────────────────────────┘
Documentation
- Installation — all deployment options
- Helm — recommended production deployment
- Configuration — environment variables and admin settings
- Admin Guide — managing your status page
- Notifications — the notification system
- Local Setup — developing on the codebase