| 
					
				 | 
			
			
				@@ -1,4 +1,4 @@ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-- name: onion service container 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+- name: 'onion service container :{{ onion_service_virtual_port }} -> {{ onion_service_target }}' 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				   docker_container: 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				     name: '{{ onion_service_container_name }}' 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				     image: '{{ onion_service_container_image }}' 
			 | 
		
	
	
		
			
				| 
					
				 | 
			
			
				@@ -30,3 +30,15 @@ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				     memory: 128M 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				     restart_policy: unless-stopped 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				     state: started 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+  register: _container 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+- name: wait for onion service address 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+  wait_for: 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+    path: "{{ (_container.container.Mounts | items2dict(key_name='Destination', value_name='Source'))['/onion-service'] }}/hostname" 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+  register: _address_file 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+- name: read onion service address 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+  slurp: 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+    src: '{{ _address_file.path }}' 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+  register: _address_base64 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+- name: decode onion service address 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+  set_fact: 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+    onion_service_address: '{{ _address_base64.content | b64decode | trim }}' 
			 |