- 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>
63 lines
1.5 KiB
Django/Jinja
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 }} |