Files
playbooks/docker-compose-update.yaml
2026-03-26 09:27:00 +01:00

61 lines
1.9 KiB
YAML

### noch nicht ok !!!!
### keine Rechte fuer User ansible
- name: Manage Docker Compose services
hosts: paperless, mongodb, gitea,
newt, jenkins, ionos-debian-01, jellyfin
# hosts: wiki !!! TOOK WIKI OUT !!!
become: true
vars:
host_compose_dirs:
wiki: "/home/admin/wikijs"
paperless: "/home/admin"
mongodb: "/home/admin/mongodb"
gitea: "/home/admin/gitea"
newt: "/home/admin/newt"
jenkins: "/home/admin/jenkins"
ionos-debian-01: "/root/pangolin"
jellyfin: "/home/admin/jellyfin"
force_pull: false
force_recreate: false
tasks:
- name: Stop and remove containers
community.docker.docker_compose_v2:
project_src: "{{ host_compose_dirs[inventory_hostname] }}"
state: absent
register: compose_down
- name: Pull latest images
community.docker.docker_compose_v2_pull:
project_src: "{{ host_compose_dirs[inventory_hostname] }}"
# Remove the 'pull' parameter - the module always pulls by default
# Add policy if you want to control pull behavior
policy: "always" # or "missing" or "build"
when: compose_down.changed or force_pull
register: compose_pull
- name: Start services
community.docker.docker_compose_v2:
project_src: "{{ host_compose_dirs[inventory_hostname] }}"
state: present
recreate: "{{ 'always' if force_recreate else 'auto' }}"
register: compose_up
- name: Docker prune
community.docker.docker_prune:
containers: true
images: true
# networks: true
# volumes: true
# builder_cache: true
- name: Display operation results
debug:
msg: |
Host: {{ inventory_hostname }}
Services down: {{ compose_down.changed }}
Images pulled: {{ compose_pull.changed if compose_pull is defined else 'skipped' }}
Services up: {{ compose_up.changed }}