# 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