- name: Reload systemd manager configuration ansible.builtin.systemd: daemon_reload: true listen: compose_systemd - name: Find which services had a docker-compose.yml updated ansible.builtin.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 ansible.builtin.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 ansible.builtin.set_fact: mariadb_restarted: true when: not mariadb_restarted listen: restart_mariadb - name: Restart compose services ansible.builtin.systemd: state: restarted name: "{{ docker_compose_service }}@{{ item }}" loop: "{{ compose_restart_list | default([]) | unique }}" when: compose_restart_list is defined listen: compose_restart - name: Start compose 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