--- - name: "🗄️ Disconnect DB container from Discourse networks" ansible.builtin.command: cmd: "container network disconnect {{ discourse_network_item }} {{ lookup('database', application_id, 'container') }}" loop: - "{{ DISCOURSE_NETWORK }}" - "{{ DISCOURSE_PG_NETWORK }}" loop_control: loop_var: discourse_network_item label: "{{ discourse_network_item }}" register: disc_net_disconnect changed_when: disc_net_disconnect.rc == 0 failed_when: > disc_net_disconnect.rc != 0 and not (disc_net_disconnect.stderr | default('') | docker_network_noop('disconnect')) - name: "📦 destroy container '{{ DISCOURSE_CONTAINER }}'" ansible.builtin.command: cmd: "./launcher destroy {{ DISCOURSE_CONTAINER }}" chdir: "{{ DISCOURSE_REPOSITORY_DIR }}" register: discourse_destroy changed_when: discourse_destroy.rc == 0 failed_when: > discourse_destroy.rc != 0 and ('unable to change directory before execution' not in (discourse_destroy.msg | default('') | lower)) and ('no such file or directory' not in (discourse_destroy.msg | default('') | lower)) and ('no such file or directory' not in (discourse_destroy.stderr | default('') | lower)) and ('not found' not in (discourse_destroy.stderr | default('') | lower))