Skip to content

Environment Variables

VariableRequiredDescription
BILBYCAST_JWT_SECRETYes64-char hex string (32 bytes) for JWT signing
BILBYCAST_MASTER_KEYYes64-char hex string (32 bytes) for AES-256-GCM encryption at rest
BILBYCAST_TLS_CERTConditionalTLS certificate PEM path (file-based TLS mode)
BILBYCAST_TLS_KEYConditionalTLS private key PEM path (file-based TLS mode)
BILBYCAST_TLS_MODENo"direct" (default) or "behind_proxy"
BILBYCAST_ACME_ENABLEDNoEnable automatic Let’s Encrypt certificates (true/false)
BILBYCAST_ACME_DOMAINConditionalDomain for ACME certificate (required if ACME enabled)
BILBYCAST_ACME_EMAILNoContact email for Let’s Encrypt
BILBYCAST_ACME_HTTP_PORTNoPort for HTTP-01 challenge (default: 80)
BILBYCAST_PORTNoOverride listen port (default: 8443)
BILBYCAST_DATABASE_URLNoSQLite path override
VariableDescription
BILBYCAST_ALLOW_INSECURESet to "1" to allow accept_self_signed_cert in manager connection config. Safety guard against accidental use in production.
RUST_LOGLog level control (e.g., bilbycast_edge=info, bilbycast_relay=debug)
Terminal window
# Generate JWT secret (64-char hex = 32 bytes)
openssl rand -hex 32
# Generate master key (64-char hex = 32 bytes)
openssl rand -hex 32

Both secrets are validated at startup — weak or short values are rejected.