ansible/roles/docker/templates/heyform-compose.yml.j2
Phil 0268e49b4d feat: implement comprehensive variable management system
- Create standardized group_vars directory structure
- Add domains.yml with centralized subdomain mappings
- Add infrastructure.yml with network, SMTP, and path config
- Reorganize vault.yml secrets by service with consistent naming
- Update 15+ Docker compose templates to use new variable structure
- Simplify playbook commands by removing --extra-vars requirement
- Replace hardcoded domains/IPs with template variables
- Standardize secret references across all services

🤖 Generated with [Claude Code](https://claude.ai/code)

Co-Authored-By: Claude <noreply@anthropic.com>
2025-06-06 15:14:47 -06:00

63 lines
1.5 KiB
Django/Jinja

services:
heyform:
image: heyform/community-edition:latest
restart: always
volumes:
# Persist uploaded images
- assets:/app/static/upload
depends_on:
- mongo
- keydb
labels:
glance.name: Heyform
glance.icon: si:googleforms
glance.url: https://{{ subdomains.heyform }}/
glance.description: Forms server
glance.id: heyform
environment:
- APP_HOMEPAGE_URL=http://{{ subdomains.heyform }}
- SESSION_KEY={{ vault_heyform.session_key }}
- FORM_ENCRYPTION_KEY={{ vault_heyform.encryption_key }}
- MONGO_URI='mongodb://mongo:27017/heyform'
- REDIS_HOST=keydb
- REDIS_PORT=6379
- SMTP_FROM=nerderland@{{ email_domains.updates }}
- SMTP_HOST={{ smtp.host }}
- SMTP_PORT=465
- SMTP_USER={{ smtp.username }}
- SMTP_PASSWORD={{ vault_smtp.password }}
- SMTP_SECURE=true
mongo:
image: percona/percona-server-mongodb:4.4
restart: always
labels:
glance.parent: heyform
glance.name: MongoDB
volumes:
# Persist MongoDB data
- database:/data/db
keydb:
image: eqalpha/keydb:latest
restart: always
command: keydb-server --appendonly yes
labels:
glance.parent: heyform
glance.name: KeyDB
volumes:
# Persist KeyDB data
- keydb:/data
volumes:
assets:
driver: local
database:
driver: local
keydb:
driver: local
networks:
default:
external: true
name: {{ docker.network_name }}