--- - name: Set SMTP credentials from mailgun role facts or client_secrets set_fact: diun_smtp_username_final: "{{ mailgun_smtp_user | default(client_secrets.mailgun_smtp_user | default(client_name ~ '@mg.vrije.cloud')) }}" diun_smtp_password_final: "{{ mailgun_smtp_password | default(client_secrets.mailgun_smtp_password | default('')) }}" when: mailgun_smtp_user is defined or client_secrets.mailgun_smtp_user is defined or client_name is defined no_log: true - name: Create monitoring Docker network community.docker.docker_network: name: monitoring state: present - name: Create Diun directory file: path: /opt/docker/diun state: directory mode: '0755' - name: Create Diun data directory file: path: /opt/docker/diun/data state: directory mode: '0755' - name: Deploy Diun configuration template: src: diun.yml.j2 dest: /opt/docker/diun/diun.yml mode: '0644' notify: Restart Diun - name: Deploy Diun docker-compose.yml template: src: docker-compose.yml.j2 dest: /opt/docker/diun/docker-compose.yml mode: '0644' notify: Restart Diun - name: Start Diun container community.docker.docker_compose_v2: project_src: /opt/docker/diun state: present pull: always register: diun_deploy - name: Wait for Diun to be healthy shell: docker inspect --format='{{"{{"}} .State.Status {{"}}"}}' diun register: diun_status until: diun_status.stdout == "running" retries: 5 delay: 3 changed_when: false - name: Display Diun status debug: msg: "Diun is {{ diun_status.stdout }} on {{ inventory_hostname }}"