Installation
Yet Another Status Page can be deployed in several ways. The recommended path is the Helm chart on Kubernetes; everything else is provided for evaluation, single-host self-hosting, or managed PaaS users.
Prerequisites
| Path | Requires |
|---|---|
| Helm (recommended) | Kubernetes >= 1.25, Helm >= 3.8, kubectl |
| Docker Compose | Docker + Docker Compose |
| From source | Node.js 24+, PostgreSQL 15+ |
| Vercel | A Vercel account |
Option 1: Helm (Recommended)
The official chart is published as an OCI artifact on GitHub Container Registry. Read the full Helm guide for configuration details.
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)
Why Helm:
- Built-in Postgres subchart (or bring-your-own via
externalDatabase.existingSecret) - Ingress + TLS, NetworkPolicy, PodDisruptionBudget, persistent media uploads
- Versioned chart releases that match the application image tag
- Atomic upgrades and rollbacks (
helm rollback)
Option 2: Vercel (One-Click)
Deploy instantly to Vercel with a managed PostgreSQL database:
This will:
- Create a new Vercel project
- Provision a Vercel Postgres database
- Prompt you to set
PAYLOAD_SECRET(generate a random 32+ character string)
All configuration (site name, logos, services, notifications) is done through the admin panel — no code changes required.
Option 3: Docker Compose (single host)
Suitable for evaluation or small self-hosted setups. See the Docker Compose guide.
git clone https://github.com/Hostzero-GmbH/yet-another-status-page.git
cd yet-another-status-page
cp .env.example .env
# Edit .env: PAYLOAD_SECRET, POSTGRES_PASSWORD, SERVER_URL
docker compose up -d
Option 4: Pre-built Docker image (BYO Postgres)
docker run -d \
--name status-page \
-p 3000:3000 \
-e DATABASE_URI=postgres://user:pass@host:5432/db \
-e PAYLOAD_SECRET=$(openssl rand -hex 32) \
-e SERVER_URL=https://status.example.com \
ghcr.io/hostzero-gmbh/yet-another-status-page:latest
Option 5: Build from source
git clone https://github.com/Hostzero-GmbH/yet-another-status-page.git
cd yet-another-status-page
npm install
npm run build
npm start
First-Time Setup
- Access the admin panel at
<serverUrl>/admin. - Create the first admin user when prompted.
- Configure the site under:
- Configuration → Site Settings (name, description, favicon, logos)
- Configuration → Email Settings (SMTP)
- Configuration → SMS Settings (Twilio)
- Add services by creating service groups and services that represent your infrastructure.
- Go live at
<serverUrl>.