From 2b067fa6cbac545978c9c966f2cc91359253f328 Mon Sep 17 00:00:00 2001 From: "martin.fencl" Date: Tue, 3 Feb 2026 18:02:54 +0100 Subject: [PATCH] edit homarr --- update_homarr.yml | 51 ++++++++++++++++++++++++++++++++--------------- 1 file changed, 35 insertions(+), 16 deletions(-) diff --git a/update_homarr.yml b/update_homarr.yml index 593bd3a..c8d4fc3 100644 --- a/update_homarr.yml +++ b/update_homarr.yml @@ -1,37 +1,56 @@ -# update_homarr2.yml +# update_homarr.yml - name: Update Homarr hosts: pve2_vm gather_facts: false vars: - homarr_project: homarr - - # Local (controller) directory with compose files compose_local_dir: "{{ playbook_dir }}/docker-compose" + compose_remote_base: "/home/{{ ansible_user }}/.ansible-compose" + compose_remote_dir: "{{ compose_remote_base }}/docker-compose" + compose_remote_archive: "{{ compose_remote_base }}/docker-compose.tar.gz" - # Remote (target) staging directory - writable for the SSH user - compose_remote_dir: "/home/{{ ansible_user }}/.ansible-compose/docker-compose" - - # Which compose file inside the directory to use homarr_compose_filename: "docker-compose-homarr.yml" - homarr_service: homarr homarr_port: 7575 tasks: - - name: Ensure remote staging directory exists + - name: Ensure remote base directory exists + ansible.builtin.file: + path: "{{ compose_remote_base }}" + state: directory + mode: "0755" + + - name: Create local archive of docker-compose directory (controller) + ansible.builtin.archive: + path: "{{ compose_local_dir }}/" + dest: "/tmp/docker-compose.tar.gz" + format: gz + delegate_to: localhost + run_once: true + + - name: Upload archive to remote host + ansible.builtin.copy: + src: "/tmp/docker-compose.tar.gz" + dest: "{{ compose_remote_archive }}" + mode: "0644" + + - name: Recreate remote compose directory + ansible.builtin.file: + path: "{{ compose_remote_dir }}" + state: absent + + - name: Ensure remote compose directory exists ansible.builtin.file: path: "{{ compose_remote_dir }}" state: directory mode: "0755" - - name: Sync compose directory from controller to remote host - ansible.posix.synchronize: - src: "{{ compose_local_dir }}/" - dest: "{{ compose_remote_dir }}/" - delete: true - recursive: true + - name: Extract archive on remote host + ansible.builtin.unarchive: + src: "{{ compose_remote_archive }}" + dest: "{{ compose_remote_dir }}" + remote_src: true - name: Pull latest Homarr image community.docker.docker_compose_v2: