--- - hosts: radon.n39.eu become: true vars: ansible_python_interpreter: /usr/bin/python3 mosquitto_image: eclipse-mosquitto:2.0.14 mosquitto_data: /srv/data/mosquitto roles: - role: docker_setup vars: docker_data_root: "/srv/docker" tasks: - name: Ensure the mosquitto directories exist file: path: "{{ item }}" state: directory with_items: - "{{ mosquitto_data }}/config" - "{{ mosquitto_data }}/data" - "{{ mosquitto_data }}/log" - name: Make sure mosquitto config is there template: src: "templates/mosquitto.conf.j2" dest: "{{ mosquitto_data }}/config/mosquitto.conf" notify: restart mosquitto - name: Ensure mosquitto is running docker_container: name: mosquitto image: "{{ mosquitto_image }}" pull: true state: started ports: - 1883:1883 - 9001:9001 volumes: - "{{ mosquitto_data }}/config:/mosquitto/config" - "{{ mosquitto_data }}/data:/mosquitto/data" - "{{ mosquitto_data }}/log:/mosquitto/log" detach: yes keep_volumes: yes restart_policy: unless-stopped handlers: - name: restart mosquitto docker_container: name: mosquitto state: started restart: yes