Environment Variables
Â
Name | Type | Required | Description |
APP_LISTEN_PORT | Number | ã…¤ | Port to listen (default is 8000 ) |
APP_LISTEN_HOSTNAME | String | ã…¤ | Hostname (default is 0.0.0.0 ) |
APP_HOMEPAGE_URL | String | ã…¤ | Website homepage URL (e.g. https://exampledomain.com ) |
APP_DISABLE_REGISTRATION | Boolean | ã…¤ | Disable user registration (default is false ) |
COOKIE_MAX_AGE | String | ã…¤ | Cookie max age (default is 1year ) |
SESSION_KEY | String | ✅ | Session encryption key |
SESSION_MAX_AGE | String | ã…¤ | Session max age (default is 15days ) |
UPLOAD_FILE_TYPES | String | ã…¤ | Upload file types (e.g. .jpg,.png,.bmp,.zip) |
UPLOAD_FILE_SIZE | Number | ã…¤ | Upload file size (default is 10mb ) |
FORM_ENCRYPTION_KEY | String | ✅ | Form encryption key |
BCRYPT_SALT | Number | ã…¤ | Bcrypt salt (default is 10 ) |
MONGO_URI | String | ✅ | MongoDB URI, for docker it should be like mongodb://mongo:27017/heyform |
MONGO_USER | String | ã…¤ | MongoDB user |
MONGO_PASSWORD | String | ã…¤ | MongoDB password |
MONGO_SSL_CA_PATH | String | ã…¤ | MongoDB SSL CA path |
REDIS_HOST | String | ㅤ | Redis host (default is 127.0.0.1 ), for docker it should be redis |
REDIS_PORT | Number | ã…¤ | Redis port (default is 6379 ) |
REDIS_PASSWORD | String | ã…¤ | Redis password |
REDIS_DB | Number | ã…¤ | Redis DB (default is 0 ) |
VERIFY_USER_EMAIL | Boolean | ã…¤ | Whether it is necessary to verify the email addresses of the new users (default is false ) |
SMTP_FROM | String | ㅤ | SMTP from (e.g. Heyform <[email protected]> ) |
SMTP_HOST | String | ã…¤ | SMTP host |
SMTP_PORT | Number | ã…¤ | SMTP port |
SMTP_USER | String | ã…¤ | SMTP user |
SMTP_SECURE | Boolean | ã…¤ | If true the connection will use TLS when connecting to server |
SMTP_IGNORE_CERT | Boolean | ã…¤ | If true will ignore TLS certificate errors |
SMTP_PASSWORD | String | ã…¤ | SMTP password |
GOOGLE_RECAPTCHA_KEY | String | ã…¤ | |
GOOGLE_RECAPTCHA_SECRET | String | ã…¤ | Google reCAPTCHA secret |
GEETEST4_CAPTCHA_ID | String | ã…¤ | |
GEETEST4_CAPTCHA_KEY | String | ã…¤ | Geetest captcha 4 key |
AKISMET_KEY | String | ã…¤ | Akismet key |
APPLE_LOGIN_TEAM_ID | String | ã…¤ | Apple login team ID |
APPLE_LOGIN_WEB_CLIENT_ID | String | ã…¤ | Apple login web client ID |
APPLE_LOGIN_KEY_ID | String | ã…¤ | Apple login key ID |
APPLE_LOGIN_PRIVATE_KEY_PATH | String | ã…¤ | Apple login private key path |
GOOGLE_LOGIN_CLIENT_ID | String | ã…¤ | Google login client ID |
GOOGLE_LOGIN_CLIENT_SECRET | String | ã…¤ | Google login client secret |
STRIPE_PUBLISHABLE_KEY | String | ã…¤ | |
STRIPE_SECRET_KEY | String | ã…¤ | Stripe secret key |
STRIPE_CONNECT_CLIENT_ID | String | ã…¤ | Stripe connect client ID |
STRIPE_WEBHOOK_SECRET_KEY | String | ã…¤ | Stripe payment webhook secret key |
BULL_JOB_ATTEMPTS | Number | ã…¤ | Bull job attempts (default is 3 ) |
BULL_JOB_TIMEOUT | String | ã…¤ | Bull job timeout (default is 1minute ) |
BULL_JOB_BACKOFF_DELAY | Number | ã…¤ | Bull job backoff delay (default is 3000 ) |
BULL_JOB_BACKOFF_TYPE | String | ã…¤ | Bull job backoff type (default is 'fixed') |
INVITE_CODE_EXPIRE_DAYS | Number | ã…¤ | Invite code expire days (default is 7 ) |
FORM_REPORT_RATE | String | ã…¤ | Form report rate (default is 5seconds ) |
VERIFICATION_CODE_EXPIRE | String | ã…¤ | Verification code expire (default is 10minutes ) |
VERIFICATION_CODE_LIMIT | Number | ã…¤ | Verification code limit (default is 5 ) |
ACCOUNT_DELETION_SCHEDULE_INTERVAL | String | ã…¤ | Account deletion schedule interval (default is 2days ) |
UNSPLASH_CLIENT_ID | String | ã…¤ | Unsplash client ID (Access Key) |
OPENAI_BASE_URL | String | ã…¤ | |
OPENAI_API_KEY | String | ã…¤ | OpenAI API key, you can find it on https://platform.openai.com/api-keys |
OPENAI_GPT_MODEL | String | ã…¤ | GPT model (default is gpt-3.5-turbo-0125 ) |
S3_ENDPOINT | String | ã…¤ | S3 service endpoint |
S3_REGION | String | ã…¤ | S3 region |
S3_BUCKET | String | ã…¤ | S3 bucket |
S3_ACCESS_KEY_ID | String | ã…¤ | ã…¤ |
S3_SECRET_ACCESS_KEY | String | ã…¤ | ã…¤ |
S3_PUBLIC_URL | String | ã…¤ | Setup this if you bind a custom domain to your S3 bucket, e.g. https://s3.heyform.net |
Authentication
Currently, HeyForm only supports login with Google and Apple.
Login with GoogleS3 static files
Support for storage providers that adhere to the AWS S3 protocol, such as AWS S3 and Cloudflare R2.
Stripe
Connect with StripeÂ