Skip to main content
Formbase validates environment variables on startup. Missing or invalid values will fail fast, so configure them before you deploy.

Core variables

VariableRequiredDescriptionExample
NEXT_PUBLIC_APP_URLYesPublic base URL used for redirects and auth links.https://forms.example.com
DATABASE_URLYeslibSQL/SQLite connection string. Must start with libsql:// or file:.file:./local.db
TURSO_AUTH_TOKENConditionallyRequired when DATABASE_URL starts with libsql://.turso_xxx
BETTER_AUTH_SECRETYesSecret for auth encryption (32+ chars).your-long-secret
ALLOW_SIGNIN_SIGNUPYesEnable or disable signups (true/false).true

Email

VariableRequiredDescriptionExample
SMTP_TRANSPORTYesEmail transport (smtp or resend).smtp
SMTP_HOSTIf SMTPSMTP host name.smtp.mailgun.org
SMTP_PORTIf SMTPSMTP port.587
SMTP_USERIf SMTP authSMTP username. Must be paired with SMTP_PASS.[email protected]
SMTP_PASSIf SMTP authSMTP password. Must be paired with SMTP_USER.smtp-password
RESEND_API_KEYIf ResendResend API key.re_xxx

Storage (file uploads)

VariableRequiredDescriptionExample
STORAGE_ENDPOINTIf uploadsS3-compatible endpoint host.localhost
STORAGE_PORTIf uploadsStorage port.9002
STORAGE_USESSLIf uploadsUse SSL (true/false).false
STORAGE_ACCESS_KEYIf uploadsStorage access key.formbase
STORAGE_SECRET_KEYIf uploadsStorage secret key.password
STORAGE_BUCKETIf uploadsBucket name.formbase

Optional

VariableRequiredDescriptionExample
NODE_ENVNoRuntime mode.production
PORTNoServer port.3000
AUTH_GITHUB_IDNoGitHub OAuth client ID.github-client-id
AUTH_GITHUB_SECRETNoGitHub OAuth client secret.github-client-secret
AUTH_GOOGLE_IDNoGoogle OAuth client ID.google-client-id
AUTH_GOOGLE_SECRETNoGoogle OAuth client secret.google-client-secret
UMAMI_TRACKING_IDNoUmami analytics site ID.uuid
VERCEL_URLNoVercel deployment URL.formbase.vercel.app
Email configuration is required for user verification and password reset emails, even if you do not enable submission notifications.