# Use with: ansible-playbook -i inventories/inventory.proxmox.yml playbooks/dockerUpdate.yml --limit docker_hosts - name: Update Docker containers hosts: docker_hosts become: true vars: docker_directories: Plex: - /home/jerick/plex - /home/jerick/plexAutoLanguages media-app: - /home/jerick/audiobookshelf - /home/jerick/authelia - /home/jerick/bazarr - /home/jerick/firefly3 - /home/jerick/gitea - /home/jerick/gotify - /home/jerick/it-tools - /home/jerick/joplin - /home/jerick/nginxproxy - /home/jerick/ombi - /home/jerick/picoshare - /home/jerick/romM - /home/jerick/tandoor_recipes - /home/jerick/tautulli - /home/jerick/watchtower - /home/jerick/immich media-management: - /home/jerick/docker tasks: - name: Pull new images and update containers community.docker.docker_compose_v2: project_src: "{{ item }}" state: present loop: "{{ docker_directories[inventory_hostname] | default([]) }}" when: inventory_hostname in docker_directories - name: Prune Docker Images, Networks, etc community.docker.docker_prune: containers: true images: true networks: true volumes: true builder_cache: true - name: Get status of all containers community.docker.docker_host_info: containers: true containers_all: true register: docker_info - name: Identify containers not in running state ansible.builtin.set_fact: not_up_containers: "{{ docker_info.containers | selectattr('State', 'ne', 'running') | map(attribute='Names') | flatten | map('regex_replace', '^/', '') | list }}" - name: Report containers not in running state ansible.builtin.debug: msg: "WARNING: The following containers are not running on {{ inventory_hostname }}: {{ not_up_containers | join(', ') }}" when: not_up_containers | length > 0