One Bit Stack
Self-host

Environment variables

Production .env reference for the control plane.

Copy .env.production.example to .env on your VPS. For the public website on Vercel, use .env.website.example.

Edition

VariableValues
CENTRAL_EDITIONcontrol_plane (VPS default) or website (Vercel marketing site)

Core

VariableDescription
CENTRAL_DATABASE_PROVIDERpostgresql (default) or sqlite (local trial)
DATABASE_URLPostgreSQL URL or file:./data/central.db
NEXT_PUBLIC_APP_URLPublic origin (UI + auth)
BETTER_AUTH_SECRETSession signing (32+ chars)
BETTER_AUTH_URLSame as public URL in production
ENCRYPTION_KEYSSH private keys at rest
REDIS_URLBullMQ queue (required in production)

Deployment mode

VariableValues
DEPLOYMENT_MODEself_hosted (control plane) or saas (optional hosted)
ENABLE_CREDENTIAL_AUTHtrue / false — email sign-up

Control plane with GitHub-only login:

DEPLOYMENT_MODE=self_hosted
ENABLE_CREDENTIAL_AUTH=false

GitHub

Set GitHub App and OAuth variables for repo access, webhooks, and optional GitHub login. Webhook URL: POST /api/github/webhook.

Worker

Run deploy jobs in a separate process:

npm run worker:deploy
# or systemd: central-deploy-worker.service

CLI

central-cli doctor
central-cli status

On this page