- name: Reload systemd manager configuration ansible.builtin.systemd: daemon_reload: true listen: compose_systemd - name: Find which services had a docker-compose.yml updated set_fact: compose_restart_list: "{{ (compose_restart_list | default([])) + [item.item.name] }}" loop: "{{ compose_update.results }}" loop_control: label: "{{ item.item.name }}" when: item.changed listen: compose_restart - name: Find which services had their .env updated set_fact: compose_restart_list: "{{ (compose_restart_list | default([])) + [item.item.name] }}" loop: "{{ compose_env_update.results }}" loop_control: label: "{{ item.item.name }}" when: item.changed listen: compose_restart - name: Restart MariaDB ansible.builtin.service: name: mariadb state: restarted when: not mariadb_restarted listen: restart_mariadb # hijack handler for early restart - name: Set MariaDB as restarted set_fact: mariadb_restarted: true when: not mariadb_restarted listen: restart_mariadb - name: Restart {{ docker_compose_service }} services ansible.builtin.systemd: state: restarted name: "{{ docker_compose_service }}@{{ item }}" loop: "{{ compose_restart_list | unique }}" when: compose_restart_list is defined listen: compose_restart - name: Start {{ docker_compose_service }} services and enable on boot ansible.builtin.service: name: "{{ docker_compose_service }}@{{ item.name }}" state: started enabled: true loop: "{{ docker_compose_deploy }}" loop_control: label: "{{ docker_compose_service }}@{{ item.name }}" when: item.enabled is defined and item.enabled is true listen: compose_enable