- 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 }} |