DocsConfigurationEnvironment variables

Environment variables

The complete reference of vuzon's environment variables — two required, the rest tuned for a homelab on plain HTTP by default.

Required

The panel login is not an environment variable — you choose it in the browser on the first visit.

Variable Purpose
CF_API_TOKEN Cloudflare API token with the three scopes from API token.
DOMAIN Zone apex in Cloudflare; used to resolve zone/account if IDs are not set.
.env
# The email domain you manage in Cloudflare, e.g. mydomain.dev
DOMAIN=

# Cloudflare API token (see the API token page)
CF_API_TOKEN=

Optional

The defaults are meant for a homelab on plain HTTP.

Variable Default Purpose
VUZON_PORT 8001 Host TCP port mapped to the app.
VUZON_DATA_DIR /app/data (Docker) Where the panel keeps its credentials (hashed) and its session key. Must be writable and survive restarts. From source it defaults to ./data.
COOKIE_SECURE off Set to 1 so the session cookie is marked Secure (HTTPS / TLS-terminating proxy). Off by default so homelab HTTP works.
TRUST_PROXY off Set behind a reverse proxy so the real client IP reaches the login rate limit — see Reverse proxy & TLS.
CF_ZONE_ID auto Only needed when autodetection from DOMAIN fails; set together with CF_ACCOUNT_ID.
CF_ACCOUNT_ID auto See above.

If autodetection from DOMAIN fails: add both CF_ZONE_ID and CF_ACCOUNT_ID to your .env — they are not in the template, you only need them when the startup error asks for them. Autodetection also stops if two zones share the same name.

Local development

With pnpm start outside Docker, PORT overrides VUZON_PORT for the listen port. The Docker image sets NODE_ENV=production; cookies stay usable over HTTP unless you set COOKIE_SECURE=1. Other developer-oriented variables (VUZON_PUBLIC_DIR) live in the repository’s CONTRIBUTING.