######################################################################## # ------------ MANDATORY (CHANGE ACCORDING TO YOUR SETUP) ------------ # ######################################################################## ############ # BASICS # ############ WEBAPP_URL=http://localhost:3000 # Required for next-auth. Should be the same as WEBAPP_URL NEXTAUTH_URL=http://localhost:3000 # Encryption keys # Please set both for now, we will change this in the future # You can use: `openssl rand -hex 32` to generate one ENCRYPTION_KEY= # @see: https://next-auth.js.org/configuration/options#nextauth_secret # You can use: `openssl rand -hex 32` to generate a secure one NEXTAUTH_SECRET= # API Secret for running cron jobs. (mandatory) # You can use: `openssl rand -hex 32` to generate a secure one CRON_SECRET= # Set the minimum log level(debug, info, warn, error, fatal) LOG_LEVEL=info ############## # DATABASE # ############## DATABASE_URL='postgresql://postgres:postgres@localhost:5432/formbricks?schema=public' ################ # MAIL SETUP # ################ # Necessary if email verification and password reset are enabled. # See optional configurations below if you want to disable these features. MAIL_FROM=noreply@example.com MAIL_FROM_NAME=Formbricks SMTP_HOST=localhost SMTP_PORT=1025 # Enable SMTP_SECURE_ENABLED for TLS (port 465) SMTP_SECURE_ENABLED=0 SMTP_USER=smtpUser SMTP_PASSWORD=smtpPassword # If set to 0, the server will not require SMTP_USER and SMTP_PASSWORD(default is 1) # SMTP_AUTHENTICATED= # If set to 0, the server will accept connections without requiring authorization from the list of supplied CAs (default is 1). # SMTP_REJECT_UNAUTHORIZED_TLS=0 ######################################################################## # ------------------------------ OPTIONAL -----------------------------# ######################################################################## # Uncomment the variables you would like to use and customize the values. ############## # S3 STORAGE # ############## # S3 Storage is required for the file upload in serverless environments like Vercel S3_ACCESS_KEY= S3_SECRET_KEY= S3_REGION= S3_BUCKET_NAME= # Configure a third party S3 compatible storage service endpoint like StorJ leave empty if you use Amazon S3 # e.g., https://gateway.storjshare.io S3_ENDPOINT_URL= # Force path style for S3 compatible storage (0 for disabled, 1 for enabled) S3_FORCE_PATH_STYLE=0 # Set this URL to add a public domain for all your client facing routes(default is WEBAPP_URL) # PUBLIC_URL=https://survey.example.com ##################### # Disable Features # ##################### # Email Verification. If you enable Email Verification you have to setup SMTP-Settings, too. EMAIL_VERIFICATION_DISABLED=1 # Password Reset. If you enable Password Reset functionality you have to setup SMTP-Settings, too. PASSWORD_RESET_DISABLED=1 # Email login. Disable the ability for users to login with email. # EMAIL_AUTH_DISABLED=1 # Organization Invite. Disable the ability for invited users to create an account. # INVITE_DISABLED=1 ########## # Other # ########## # Display privacy policy, imprint and terms of service links in the footer of signup & public pages. PRIVACY_URL= TERMS_URL= IMPRINT_URL= IMPRINT_ADDRESS= # Configure Turnstile in signup flow # TURNSTILE_SITE_KEY= # TURNSTILE_SECRET_KEY= # Google reCAPTCHA v3 keys RECAPTCHA_SITE_KEY= RECAPTCHA_SECRET_KEY= # Configure Github Login GITHUB_ID= GITHUB_SECRET= # Configure Google Login GOOGLE_CLIENT_ID= GOOGLE_CLIENT_SECRET= # Configure Azure Active Directory Login AZUREAD_CLIENT_ID= AZUREAD_CLIENT_SECRET= AZUREAD_TENANT_ID= # OpenID Connect (OIDC) configuration # OIDC_CLIENT_ID= # OIDC_CLIENT_SECRET= # OIDC_ISSUER= # OIDC_DISPLAY_NAME= # OIDC_SIGNING_ALGORITHM= # Configure SAML SSO # SAML_DATABASE_URL=postgresql://postgres:postgres@localhost:5432/formbricks-saml # Configure this when you want to ship JS & CSS files from a complete URL instead of the current domain # ASSET_PREFIX_URL= # Oauth credentials for Notion Integration NOTION_OAUTH_CLIENT_ID= NOTION_OAUTH_CLIENT_SECRET= # Stripe Billing Variables STRIPE_SECRET_KEY= STRIPE_WEBHOOK_SECRET= # Oauth credentials for Google sheet integration GOOGLE_SHEETS_CLIENT_ID= GOOGLE_SHEETS_CLIENT_SECRET= GOOGLE_SHEETS_REDIRECT_URL= # Oauth credentials for Airtable integration AIRTABLE_CLIENT_ID= # Oauth credentials for Slack integration SLACK_CLIENT_ID= SLACK_CLIENT_SECRET= # Enterprise License Key ENTERPRISE_LICENSE_KEY= # Automatically assign new users to a specific organization and role within that organization # Insert an existing organization id or generate a valid CUID for a new one at https://www.getuniqueid.com/cuid (e.g. cjld2cjxh0000qzrmn831i7rn) # (Role Management is an Enterprise feature) # AUTH_SSO_DEFAULT_TEAM_ID= # AUTH_SKIP_INVITE_FOR_SSO= # Send new users to Brevo # BREVO_API_KEY= # BREVO_LIST_ID= # Ignore Rate Limiting across the Formbricks app # RATE_LIMITING_DISABLED=1 # OpenTelemetry URL for tracing # OPENTELEMETRY_LISTENER_URL=http://localhost:4318/v1/traces # Unsplash API Key UNSPLASH_ACCESS_KEY= # The below is used for Next Caching (uses In-Memory from Next Cache if not provided) REDIS_URL=redis://localhost:6379 # The below is used for Rate Limiting (uses In-Memory LRU Cache if not provided) (You can use a service like Webdis for this) # REDIS_HTTP_URL: # INTERCOM_APP_ID= # INTERCOM_SECRET_KEY= # Enable Prometheus metrics # PROMETHEUS_ENABLED= # PROMETHEUS_EXPORTER_PORT= # The SENTRY_DSN is used for error tracking and performance monitoring with Sentry. # SENTRY_DSN= # The SENTRY_AUTH_TOKEN variable is picked up by the Sentry Build Plugin. # It's used automatically by Sentry during the build for authentication when uploading source maps. # SENTRY_AUTH_TOKEN= # The SENTRY_ENVIRONMENT is the environment which the error will belong to in the Sentry dashboard # SENTRY_ENVIRONMENT= # Configure the minimum role for user management from UI(owner, manager, disabled) # USER_MANAGEMENT_MINIMUM_ROLE="manager" # Configure the maximum age for the session in seconds. Default is 86400 (24 hours) # SESSION_MAX_AGE=86400 # Audit logs options. Default 0. # AUDIT_LOG_ENABLED=0 # If the ip should be added in the log or not. Default 0 # AUDIT_LOG_GET_USER_IP=0