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.