Configuration
Environment variables for a self-hosted instance.
Configuration is via environment variables (see .env.example).
| Variable | Default | Notes |
|---|---|---|
STATUSPAGE_MODE |
self-hosted |
Keep as self-hosted. |
DATABASE_DRIVER |
sqlite |
SQLite for self-hosting. |
DATABASE_URL |
file:/app/data/statuspage.db |
Path to the SQLite file on the volume. |
APP_URL |
http://localhost:3000 |
Public base URL — used for links and cookie security. |
AUTH_SECRET |
(set this) | Signs session cookies. Use 32+ random characters. |
ADMIN_EMAIL |
— | Optional. Set with ADMIN_PASSWORD to seed the admin non-interactively and skip setup. |
ADMIN_PASSWORD |
— | Optional. See ADMIN_EMAIL. |
LICENSE_KEY |
— | Raises the free-tier limits when valid. |
LICENSE_SERVER_URL |
https://statuspage.example.com |
Where license keys are verified. |
WORKER_TICK_MS |
10000 |
How often the worker scans for due checks (ms). |
The free tier has hard limits of 5 services and 3 team members. To raise them, buy a license.
Creating the first admin
By default the first admin is created interactively on the first-run setup
page (/setup) the first time you open the app. Alternatively, set
ADMIN_EMAIL and ADMIN_PASSWORD to seed it on first boot and skip setup —
useful for automated deploys. Either way, after the first admin exists, manage
accounts from Team in the admin UI.
Next: Monitoring services.