Configuration
Buzz reads server configuration when the Python modules are imported. Restart the server after changing an environment variable.
Command-line options take precedence where noted. Values used only by the bundled Traefik deployment are marked as standalone deployment settings.
Environment Variables
Section titled “Environment Variables”| Variable | Purpose | Scope | Default | Requirement |
|---|---|---|---|---|
BUZZ_PORT |
Port used by the Buzz server. The --port option takes precedence. |
Buzz server | 8080 |
Optional |
BUZZ_DATA_DIR |
Directory containing deployed sites and the SQLite database. | Buzz server | Server package directory | Optional |
BUZZ_DOMAIN |
Base hostname for the dashboard and site subdomains. | Buzz server | Not set | Required for production hosting. |
GITHUB_CLIENT_ID |
Client ID for the GitHub OAuth app with Device Flow enabled. | Buzz server | Not set | Required unless the server runs with –dev. |
GITHUB_CLIENT_SECRET |
Client secret for the GitHub OAuth app. | Buzz server | Not set | Required unless the server runs with –dev. |
BUZZ_ANALYTICS_SECRET |
Secret used to hash analytics visitors. Falls back to GITHUB_CLIENT_SECRET, then a process-local random value. |
Buzz server | Not set | Optional |
BUZZ_MAX_ARCHIVE_BYTES |
Maximum compressed deployment archive size in bytes. | Buzz server | 524288000 |
Optional |
BUZZ_MAX_SITE_BYTES |
Maximum extracted size of one deployed site in bytes. | Buzz server | 524288000 |
Optional |
BUZZ_MAX_SITE_FILES |
Maximum number of files and directories in one deployed site. | Buzz server | 10000 |
Optional |
BUZZ_MAX_ARCHIVE_PATH_BYTES |
Maximum UTF-8 byte length of a path in a deployment archive. | Buzz server | 1024 |
Optional |
BUZZ_GSC_CREDENTIALS |
Google service-account JSON or a path to a readable credentials file. | Buzz server | Not set | Optional |
BUZZ_GSC_PROPERTY |
Google Search Console property. Defaults to sc-domain:<BUZZ_DOMAIN>. |
Buzz server | Not set | Optional |
BUZZ_ALLOW_REGISTRATION |
Whether new GitHub users can sign up. Existing users keep access when disabled. | Buzz server | true |
Optional |
BUZZ_ALLOWED_GITHUB_USERS |
Comma-separated GitHub usernames allowed to sign in. When set, unlisted users are denied on every request and listed users may sign up even when registration is disabled. | Buzz server | Not set | Optional |
BUZZ_CUSTOM_DOMAINS_ENABLED |
Whether this Buzz server enables the optional custom-domain control plane. | Buzz server | false |
Optional |
BUZZ_TRAEFIK_CONTROL_TOKEN |
Bearer token used by Traefik to read Buzz custom-domain configuration when custom domains are enabled. | Buzz server | Not set | Optional |
BUZZ_TRAEFIK_CONTROL_PORT |
Private port used by the Traefik custom-domain control listener. | Buzz server | 8081 |
Optional |
BUZZ_TRAEFIK_API_URL |
Internal URL of Traefik’s protected runtime API for custom-domain readiness checks. | Buzz server | Not set | Optional |
BUZZ_TRAEFIK_API_AUTHORIZATION |
Authorization header sent to Traefik’s protected runtime API. | Buzz server | Not set | Optional |
BUZZ_TRAEFIK_HTTPS_ENTRYPOINT |
Traefik HTTPS entrypoint expected by custom-domain routers. | Buzz server | https |
Optional |
BUZZ_TRAEFIK_SERVICE |
Provider-qualified Traefik service used by custom-domain routers. | Buzz server | buzz@docker |
Optional |
BUZZ_CUSTOM_DOMAIN_OPERATOR_TOKEN |
Bearer token for the private custom-domain operator endpoint. | Buzz server | Not set | Optional |
BUZZ_MAX_CUSTOM_DOMAINS_PER_SITE |
Maximum pending and verified custom domains for one site. | Buzz server | 5 |
Optional |
BUZZ_MAX_CUSTOM_DOMAINS_PER_USER |
Maximum pending and verified custom domains owned by one user. | Buzz server | 20 |
Optional |
BUZZ_MAX_CUSTOM_DOMAINS_SERVER_WIDE |
Maximum pending and verified custom domains across this Buzz server. | Buzz server | 1000 |
Optional |
BUZZ_CUSTOM_DOMAIN_INGRESS_IPS |
Comma-separated public ingress IP addresses allowed for direct custom domains. | Buzz server | Not set | Optional |
BUZZ_CUSTOM_DOMAIN_ORIGIN_HOST |
Internal Traefik hostname used to validate custom-domain TLS and routing. | Buzz server | coolify-proxy |
Optional |
BUZZ_TRAEFIK_CERT_RESOLVER |
Traefik certificate resolver selected by custom-domain routers. | Buzz server | buzz-custom |
Optional |
BUZZ_CUSTOM_DOMAIN_RECONCILE_SECONDS |
Interval between custom-domain router reconciliation attempts. | Buzz server | 5 |
Optional |
BUZZ_CUSTOM_DOMAIN_ACME_CA_SERVER |
ACME directory used by the standalone custom-domain resolver. Keep the staging default until production routing is enabled. | Standalone deployment | https://acme-staging-v02.api.letsencrypt.org/directory |
Optional |
CF_API_TOKEN |
Cloudflare API token used by Traefik for DNS-01 validation. | Standalone deployment | Not set | Required by the standalone Docker Compose deployment. |
ACME_EMAIL |
Email address used for Let’s Encrypt certificate notifications. | Standalone deployment | Not set | Required by the standalone Docker Compose deployment. |
CLI Environment Variables
Section titled “CLI Environment Variables”The CLI reads BUZZ_SERVER and BUZZ_TOKEN. The root --server and --token options take precedence, followed by environment variables, then saved configuration.
Keep secrets outside source control. GITHUB_CLIENT_SECRET, BUZZ_ANALYTICS_SECRET, BUZZ_GSC_CREDENTIALS, BUZZ_TRAEFIK_CONTROL_TOKEN, BUZZ_CUSTOM_DOMAIN_OPERATOR_TOKEN, BUZZ_TRAEFIK_API_AUTHORIZATION, CF_API_TOKEN, and BUZZ_TOKEN contain sensitive values.