Files
ansible/update-all.yaml
2025-04-03 16:51:30 -05:00

50 lines
1.4 KiB
YAML

- name: gather service facts
service_facts:
- name: check for docker
hosts: docker
set_fact:
docker_running: "'docker.service' in ansible_facts.services and ansible_facts.services['docker.service']['state']=='running'"
- name: check for running containers
hosts: docker
ansible.builtin.shell: docker ps | grep -v CONTAINER\ ID
register: running_docker
ignore_errors: true
when: docker_running
- name: verify that /docker exists
hosts: docker
stat:
path: /docker
register: my_docker
when: running_docker and docker_running
- name: update system
ansible.builtin.apt:
update_cache: yes
autoclean: yes
autoremove: yes
upgrade: yes
- name: pull docker updates
hosts: docker
command: find /docker -maxdepth 1 -type d -exec /bin/sh 'cd {}; [ -f .env ] && echo {} && docker compose pull' \;
become: true
become_user: root
when: running_docker and my_docker.stat.exists and docker_running
- name: install docker updates
hosts: docker
command: find /docker -maxdepth 1 -type d -exec /bin/sh 'cd {}; [ -f .env ] && echo {} && docker compose up -d' \;
become: true
become_user: root
when: running_docker.stdout and my_docker.stat.exists and docker_running
- name: prune system
hosts: docker
command: docker system prune -a -f
become: true
become_user: root
when: running_docker.stdout and my_docker.stat.exists and docker_running