58 lines
1.8 KiB
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 }}
|
|
|