HeyForm
HeyForm is an open-source form builder that allows anyone to create engaging conversational forms for surveys, questionnaires, quizzes, and polls.
Directory Structure
- .env
- docker-compose.yml
docker-compose.yml
version: '3.9'
networks:
keydb:
mongo:
services:
heyform:
image: heyform/community-edition:latest
restart: always
volumes:
# Persist uploaded images
- ./assets:/app/static/upload
depends_on:
- mongo
- keydb
ports:
- '9513:8000'
environment:
APP_HOMEPAGE_URL: http://127.0.0.1:9513
SESSION_KEY: key1
FORM_ENCRYPTION_KEY: key2
MONGO_URI: 'mongodb://mongo:27017/heyform'
REDIS_HOST: keydb
REDIS_PORT: 6379
mongo:
image: percona/percona-server-mongodb:4.4
restart: always
volumes:
# Persist MongoDB data
- ./database:/data/db
keydb:
image: eqalpha/keydb:latest
restart: always
command: keydb-server --appendonly yes
volumes:
# Persist KeyDB data
- ./keydb:/data.env
# https://docs.heyform.net/configuration
# App serve
# If you are developing locally, you can use http://[ip]:[port].
APP_HOMEPAGE_URL=http://127.0.0.1:8000
# If you are using docker:
# ports:
# - "9090:8000"
# The url should be http://127.0.0.1:9090 but not :8000.
# If you are deploying to a server, please replace it with your domain.
# APP_HOMEPAGE_URL=https://heyform.net
# Auth
SESSION_MAX_AGE=15d
SESSION_KEY="key1"
FORM_ENCRYPTION_KEY="key2"
# Mongo
MONGO_URI="mongodb://localhost:27017/heyform"
MONGO_USER=
MONGO_PASSWORD=
# Upload
UPLOAD_FILE_TYPES=".jpg,.png,.bmp,.gif,.txt,.md,.doc,.docx,.xls,.xlsx,.csv,.ppt,.pptx,.pdf,.mp4,.wmv,.zip,.rar,.7z"
# SMTP
SMTP_FROM="HeyForm <noreply@example.com>"
SMTP_HOST="example.com"
SMTP_PORT=465
SMTP_USER=
SMTP_PASSWORD=
# Social login
APPLE_LOGIN_TEAM_ID=
APPLE_LOGIN_WEB_CLIENT_ID=
APPLE_LOGIN_KEY_ID=
APPLE_LOGIN_PRIVATE_KEY_PATH=
# https://docs.heyform.net/login-with-google
GOOGLE_LOGIN_CLIENT_ID=
GOOGLE_LOGIN_CLIENT_SECRET=
# Submission spam filter
AKISMET_KEY=
# Anti bot
# https://www.geetest.com/en/
GEETEST_CAPTCHA_ID=
GEETEST_CAPTCHA_KEY=
# https://www.google.com/recaptcha/about/
GOOGLE_RECAPTCHA_KEY=
GOOGLE_RECAPTCHA_SECRET=
# Bull & redis
BULL_JOB_ATTEMPTS=3
BULL_JOB_BACKOFF_DELAY=3000
BULL_JOB_BACKOFF_TYPE=fixed
REDIS_HOST=127.0.0.1
REDIS_PORT=6379
REDIS_DB=0
# Unsplash
UNSPLASH_CLIENT_ID=
# Stripe
# https://docs.heyform.net/connect-with-stripe
STRIPE_PUBLISHABLE_KEY=pk_
STRIPE_SECRET_KEY=sk_
STRIPE_CONNECT_CLIENT_ID=ca_
STRIPE_WEBHOOK_SECRET_KEY=whsec_
# OpenAI
OPENAI_BASE_URL=
OPENAI_API_KEY=Resources
Website: https://heyform.net/
GitHub: https://github.com/heyform/heyform
Docker Hub: https://hub.docker.com/r/heyform/community-edition
Configuration: https://docs.heyform.net/open-source/self-hosting