coolify/templates/compose/heyform.yaml

57 lines
1.7 KiB
YAML
Raw Normal View History

2024-09-20 03:02:20 +00:00
# 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.
# category: productivity
2024-09-20 03:02:20 +00:00
# tags: form, builder, forms, survey, quiz, open source, self-hosted, docker
# logo: svgs/heyform.svg
2024-10-10 13:05:55 +00:00
# port: 8000
2024-09-20 03:02:20 +00:00
services:
heyform:
2024-10-10 13:05:55 +00:00
image: heyform/community-edition:latest
2024-09-20 03:02:20 +00:00
volumes:
2024-10-10 13:05:55 +00:00
- heyform-assets:/app/static/upload
2024-09-20 03:02:20 +00:00
depends_on:
2024-10-10 13:05:55 +00:00
mongo:
condition: service_healthy
keydb:
condition: service_healthy
2024-09-20 03:02:20 +00:00
environment:
- SERVICE_URL_HEYFORM_8000
- APP_HOMEPAGE_URL=${SERVICE_URL_HEYFORM}
2024-10-10 13:05:55 +00:00
- SESSION_KEY=${SERVICE_BASE64_64_SESSION}
- FORM_ENCRYPTION_KEY=${SERVICE_BASE64_64_FORM}
- MONGO_URI=mongodb://mongo:27017/heyform
2024-09-20 03:02:20 +00:00
- REDIS_HOST=keydb
- REDIS_PORT=6379
- REDIS_PASSWORD=${SERVICE_PASSWORD_KEYDB}
2024-09-20 03:02:20 +00:00
healthcheck:
2024-10-10 13:05:55 +00:00
test: ["CMD-SHELL", "wget -qO- http://127.0.0.1:8000 || exit 1"]
interval: 5s
timeout: 5s
retries: 3
2024-09-20 03:02:20 +00:00
mongo:
2024-10-10 13:05:55 +00:00
image: percona/percona-server-mongodb:latest
2024-09-20 03:02:20 +00:00
volumes:
2024-10-10 13:05:55 +00:00
- heyform-mongo-data:/data/db
healthcheck:
test: ["CMD-SHELL", "echo 'ok' > /dev/null 2>&1"]
interval: 5s
timeout: 5s
retries: 10
start_period: 5s
2024-09-20 03:02:20 +00:00
keydb:
2024-10-10 13:05:55 +00:00
image: eqalpha/keydb:latest
command: keydb-server --appendonly yes
environment:
- KEYDB_PASSWORD=${SERVICE_PASSWORD_KEYDB}
2024-09-20 03:02:20 +00:00
volumes:
2024-10-10 13:05:55 +00:00
- heyform-keydb-data:/data
healthcheck:
test: ["CMD-SHELL", "keydb-cli", "--pass", "${SERVICE_PASSWORD_KEYDB}", "ping"]
interval: 5s
timeout: 5s
retries: 10
start_period: 5s