Files
system-upgrade/docker-compose-update.yaml

58 lines
1.8 KiB
YAML

### noch nicht ok !!!!
### keine Rechte fuer User ansible
- name: Manage Docker Compose services
hosts: wiki, paperless, mongodb, gitea, newt-pangolin, jenkins, ionos-ubuntu-01
# hosts: wiki
become: true
vars:
host_compose_dirs:
wiki: "/home/admin/wikijs"
paperless: "/home/admin"
mongodb: "/home/admin/mongodb"
gitea: "/home/admin"
newt-pangolin: "/home/admin/newt"
jenkins: "/home/admin/jenkins"
ionos-ubuntu-01: "/root"
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 system 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 }}