diff --git a/update_homarr.yml b/update_homarr.yml index de771c7..593bd3a 100644 --- a/update_homarr.yml +++ b/update_homarr.yml @@ -1,54 +1,50 @@ +# update_homarr2.yml + - name: Update Homarr hosts: pve2_vm gather_facts: false - become: true - become_method: sudo vars: - homarr_compose_local: "{{ playbook_dir }}/docker-compose/docker-compose-homarr.yml" - homarr_compose_remote_dir: "/data/compose/homarr" - homarr_compose_remote: "{{ homarr_compose_remote_dir }}/docker-compose-homarr.yml" + homarr_project: homarr + + # Local (controller) directory with compose files + compose_local_dir: "{{ playbook_dir }}/docker-compose" + + # 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: Show effective user (debug) - ansible.builtin.command: id - register: whoami_result - changed_when: false - - - name: Print effective user (debug) - ansible.builtin.debug: - var: whoami_result.stdout - - - name: Ensure remote compose directory exists + - name: Ensure remote staging directory exists ansible.builtin.file: - path: "{{ homarr_compose_remote_dir }}" + path: "{{ compose_remote_dir }}" state: directory mode: "0755" - - name: Test write access to remote dir (as become) - ansible.builtin.command: "sh -lc 'echo test > {{ homarr_compose_remote_dir }}/.ansible_write_test && rm -f {{ homarr_compose_remote_dir }}/.ansible_write_test'" - changed_when: false - - - name: Copy compose file from controller to remote host - ansible.builtin.copy: - src: "{{ homarr_compose_local }}" - dest: "{{ homarr_compose_remote }}" - mode: "0644" + - 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: Pull latest Homarr image community.docker.docker_compose_v2: - project_src: "{{ homarr_compose_remote_dir }}" + project_src: "{{ compose_remote_dir }}" files: - - "{{ homarr_compose_remote | basename }}" + - "{{ homarr_compose_filename }}" pull: always - name: Recreate Homarr service community.docker.docker_compose_v2: - project_src: "{{ homarr_compose_remote_dir }}" + project_src: "{{ compose_remote_dir }}" files: - - "{{ homarr_compose_remote | basename }}" + - "{{ homarr_compose_filename }}" services: - "{{ homarr_service }}" state: present