diff --git a/roles/mailcow_update/handlers/main.yaml b/roles/mailcow_update/handlers/main.yaml index d5fba65..9702129 100644 --- a/roles/mailcow_update/handlers/main.yaml +++ b/roles/mailcow_update/handlers/main.yaml @@ -1,8 +1,19 @@ --- -- name: Restart main Docker stack +- name: Tear down Mailcow and main Docker stack(s) (LIFO) become: true community.docker.docker_compose_v2: - # This targets the first directory in the list you defined in your host_vars - project_src: "{{ docker_compose_dirs[0] }}" - state: restarted + project_src: "{{ item }}" + state: absent + # Drops Mailcow first, THEN loops through your main stacks + loop: "{{ [mailcow_dir | default('/data/mailcow')] + (docker_compose_dirs | default([])) }}" + listen: Restart main Docker stack + +- name: Bring main Docker stack(s) and Mailcow back up (FIFO) + become: true + community.docker.docker_compose_v2: + project_src: "{{ item }}" + state: present + # Brings your main stacks up first (recreating the network), THEN Mailcow + loop: "{{ (docker_compose_dirs | default([])) + [mailcow_dir | default('/data/mailcow')] }}" + listen: Restart main Docker stack