diff --git a/README.md b/README.md index 26fab00..2ba70e8 100644 --- a/README.md +++ b/README.md @@ -10,3 +10,7 @@ ansible-playbook system-upgrade.yml ```bash ansible-playbook local-upgrade.yaml --become --ask-become-pass ``` + +```bash +ansible-playbook docker-compose-update.yaml +``` diff --git a/ansible.cfg b/ansible.cfg index df46cbd..5c8c8fd 100644 --- a/ansible.cfg +++ b/ansible.cfg @@ -1,4 +1,5 @@ [defaults] +interpreter_python = /usr/bin/python3 inventory=inventory private_key_file=~/.ssh/id_ed25519 remote_user=ansible diff --git a/docker-compose-update.yaml b/docker-compose-update.yaml new file mode 100644 index 0000000..a8e8cf4 --- /dev/null +++ b/docker-compose-update.yaml @@ -0,0 +1,47 @@ +### noch nicht ok !!!! +### keine Rechte fuer User ansible +- name: Manage Docker Compose services + hosts: wiki, paperless, mongodb, gitea, newt-pangolin, jenkins +# 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" + 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: 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 }} diff --git a/local-upgrade.yaml b/local-upgrade.yaml index ce6798d..6b39be2 100644 --- a/local-upgrade.yaml +++ b/local-upgrade.yaml @@ -8,3 +8,7 @@ ansible.builtin.apt: update_cache: yes upgrade: safe + + - name: Run the equivalent of "apt clean" + ansible.builtin.apt: + clean: yes diff --git a/system-upgrade.yml b/system-upgrade.yml index 9f0adf9..b64f40c 100644 --- a/system-upgrade.yml +++ b/system-upgrade.yml @@ -10,6 +10,10 @@ update_cache: yes upgrade: safe + - name: Run the equivalent of "apt clean" + ansible.builtin.apt: + clean: yes + - hosts: homelab become: true gather_facts: yes