56 lines
1.6 KiB
YAML
56 lines
1.6 KiB
YAML
# documentation: https://docs.heyform.net/open-source/self-hosting
|
|
# slogan: Allows anyone to create engaging conversational forms for surveys, questionnaires, quizzes, and polls. No coding skills required.
|
|
# tags: form, builder, forms, survey, quiz, open source, self-hosted, docker
|
|
# logo: svgs/heyform.svg
|
|
# port: 8000
|
|
|
|
services:
|
|
heyform:
|
|
image: heyform/community-edition:latest
|
|
volumes:
|
|
- heyform-assets:/app/static/upload
|
|
depends_on:
|
|
mongo:
|
|
condition: service_healthy
|
|
keydb:
|
|
condition: service_healthy
|
|
environment:
|
|
- SERVICE_FQDN_HEYFORM_8000
|
|
- APP_HOMEPAGE_URL=${SERVICE_FQDN_HEYFORM}
|
|
- SESSION_KEY=${SERVICE_BASE64_64_SESSION}
|
|
- FORM_ENCRYPTION_KEY=${SERVICE_BASE64_64_FORM}
|
|
- MONGO_URI=mongodb://mongo:27017/heyform
|
|
- REDIS_HOST=keydb
|
|
- REDIS_PORT=6379
|
|
- REDIS_PASSWORD=${SERVICE_PASSWORD_KEYDB}
|
|
healthcheck:
|
|
test: ["CMD-SHELL", "wget -qO- http://127.0.0.1:8000 || exit 1"]
|
|
interval: 5s
|
|
timeout: 5s
|
|
retries: 3
|
|
|
|
mongo:
|
|
image: percona/percona-server-mongodb:latest
|
|
volumes:
|
|
- heyform-mongo-data:/data/db
|
|
healthcheck:
|
|
test: ["CMD-SHELL", "echo 'ok' > /dev/null 2>&1"]
|
|
interval: 5s
|
|
timeout: 5s
|
|
retries: 10
|
|
start_period: 5s
|
|
|
|
keydb:
|
|
image: eqalpha/keydb:latest
|
|
command: keydb-server --appendonly yes
|
|
environment:
|
|
- KEYDB_PASSWORD=${SERVICE_PASSWORD_KEYDB}
|
|
volumes:
|
|
- heyform-keydb-data:/data
|
|
healthcheck:
|
|
test: ["CMD-SHELL", "keydb-cli", "--pass", "${SERVICE_PASSWORD_KEYDB}", "ping"]
|
|
interval: 5s
|
|
timeout: 5s
|
|
retries: 10
|
|
start_period: 5s
|