Skip to Content
Read the release notes before upgrading production environments.
Self-HostingEnvironment Variables

Core runtime

VariableRequiredDescription
DATABASE_URLYesPostgreSQL connection string
PORTNoAdmin server port (default fallback is used when unset)
CMS0_STORAGE_PATHRecommendedFilesystem path for uploads
CMS0_BACKUPS_PATHRecommendedFilesystem path for schema/data backups
CMS0_BACKUPS_RETENTIONNoNumber of retained backups
CMS0_BUN_RUNTIMENoBun runtime override for migration commands
DRIZZLE_KIT_RUNTIMENoCustom drizzle-kit runtime override

Auth and access control

VariableRequiredDescription
BETTER_AUTH_SECRETYesAuth signing/encryption secret
BETTER_AUTH_URLYesCanonical auth base URL
TRUSTED_ORIGINSYesComma-separated trusted origins
CLIENT_BASE_URLYesBase URL used in auth-generated links
ADMIN_EMAILRecommendedBootstrap admin email
ADMIN_PASSWORDRecommendedBootstrap admin password
BUN_PUBLIC_ORG_NAMENoDefault organization label
BUN_PUBLIC_TEAM_NAMENoDefault team label
GOOGLE_CLIENT_IDOptionalGoogle OAuth client ID
GOOGLE_CLIENT_SECRETOptionalGoogle OAuth client secret

Email

VariableRequiredDescription
EMAIL_FROMRecommendedSender address for transactional/auth emails
PLUNK_API_KEYOptionalAPI key for transactional provider integration

Client and CLI integration

VariableRequiredDescription
VITE_CMS0_API_BASEURLYes (client example)Base URL used by frontend SDK
VITE_CMS0_API_KEYYes (client example)API key used by frontend SDK
CMS0_API_BASEURLOptionalBase URL used by generated helpers
CMS0_API_KEYOptionalAPI key used by generated helpers

Public runtime toggles

VariableRequiredDescription
BUN_PUBLIC_AUTH_URLNoPublic auth endpoint for UI/runtime wiring
BUN_PUBLIC_APINoPublic API endpoint
BUN_PUBLIC_VALIDATION_MODENoValidation mode flag
BUN_PUBLIC_ENABLE_EMAILNoEnable/disable email features