the default listen_ip. make a loop for more flexibility. Get a listen ip specifically for that host. see if components have listen_ip defined before using ansible_default_ipv4 Make service files look for listen_ip variable. implemented listen_ip variable here too
		
			
				
	
	
		
			24 lines
		
	
	
		
			921 B
		
	
	
	
		
			Desktop File
		
	
	
	
	
	
			
		
		
	
	
			24 lines
		
	
	
		
			921 B
		
	
	
	
		
			Desktop File
		
	
	
	
	
	
| [Unit]
 | |
| Description=rabbitmq Container
 | |
| After=docker.service
 | |
| Requires=docker.service
 | |
| 
 | |
| [Service]
 | |
| TimeoutStartSec=0
 | |
| Restart=always
 | |
| ExecStartPre=-/usr/bin/docker kill %n
 | |
| ExecStartPre=-/usr/bin/docker rm %n
 | |
| ExecStartPre=/usr/bin/docker pull rabbitmq:latest
 | |
| ExecStart=/usr/bin/docker run \
 | |
| {% for host in groups['rabbitmq'] %}
 | |
|           --add-host "{{ host }}:{{ hostvars[host]['listen_ip'] | default(hostvars[host]['ansible_default_ipv4']['address']) }}" \
 | |
| {% endfor %}
 | |
|           -p 4369:4369 -p 25679:25679 -p 25672:25672 -p 5671-5672:5671-5672 -p 8080:15672 \
 | |
|           -e "RABBITMQ_DEFAULT_USER=user" -e "RABBITMQ_DEFAULT_PASS={{ secrets['RABBIT_PASSWORD'] }}" \
 | |
|           -e "RABBITMQ_ERLANG_COOKIE={{ secrets['RABBITMQ_ERLANG_COOKIE'] }}" \
 | |
|           -e "RABBITMQ_NODENAME=rabbit_{{ ansible_nodename }}" \
 | |
|           --hostname "{{ ansible_nodename }}" --name %n rabbitmq:3-management
 | |
| 
 | |
| [Install]
 | |
| WantedBy=multi-user.target
 |