diff --git a/update_homarr.yml b/update_homarr.yml index 562003c..e956961 100644 --- a/update_homarr.yml +++ b/update_homarr.yml @@ -1,6 +1,6 @@ -# update_homarr.yml +# update_bettershift.yml -- name: Update Homarr +- name: Update BetterShift hosts: pve2_vm gather_facts: false @@ -9,11 +9,12 @@ compose_local_dir: "{{ playbook_dir }}/docker-compose" compose_remote_base: "/home/{{ ansible_user }}/.ansible-compose" - # Homarr settings - homarr_project: homarr - homarr_compose_filename: "docker-compose-homarr.yml" - homarr_service: homarr - homarr_port: 7575 + # BetterShift settings + bettershift_project: bettershift + bettershift_compose_filename: "docker-compose-bettershift.yml" + bettershift_service: bettershift + bettershift_port: 3067 + bettershift_data_dir: "/data/compose/bettershift/data" tasks: - name: Ensure remote compose directory exists @@ -22,43 +23,65 @@ state: directory mode: "0755" - - name: Upload Homarr compose file to remote host + - name: Ensure BetterShift data directory exists + ansible.builtin.file: + path: "{{ bettershift_data_dir }}" + state: directory + mode: "0755" + + - name: Upload BetterShift compose file to remote host ansible.builtin.copy: - src: "{{ compose_local_dir }}/{{ homarr_compose_filename }}" - dest: "{{ compose_remote_base }}/{{ homarr_compose_filename }}" + src: "{{ compose_local_dir }}/{{ bettershift_compose_filename }}" + dest: "{{ compose_remote_base }}/{{ bettershift_compose_filename }}" mode: "0644" - - name: Pull latest Homarr image + - name: Check BetterShift env file exists on remote host + ansible.builtin.stat: + path: "{{ compose_remote_base }}/.env.bettershift" + register: bettershift_env_file + + - name: Fail if BetterShift env file is missing + ansible.builtin.fail: + msg: >- + Missing {{ compose_remote_base }}/.env.bettershift on remote host. + Create it manually because it contains secrets. + when: not bettershift_env_file.stat.exists + + - name: Pull latest BetterShift image community.docker.docker_compose_v2: - project_name: "{{ homarr_project }}" + project_name: "{{ bettershift_project }}" project_src: "{{ compose_remote_base }}" files: - - "{{ homarr_compose_filename }}" + - "{{ bettershift_compose_filename }}" pull: always - - name: Recreate Homarr service + - name: Recreate BetterShift service community.docker.docker_compose_v2: - project_name: "{{ homarr_project }}" + project_name: "{{ bettershift_project }}" project_src: "{{ compose_remote_base }}" files: - - "{{ homarr_compose_filename }}" + - "{{ bettershift_compose_filename }}" services: - - "{{ homarr_service }}" + - "{{ bettershift_service }}" state: present recreate: always - - name: Wait for Homarr port + - name: Wait for BetterShift port ansible.builtin.wait_for: host: 127.0.0.1 - port: "{{ homarr_port }}" + port: "{{ bettershift_port }}" timeout: 60 - - name: Check Homarr HTTP endpoint + - name: Check BetterShift HTTP endpoint ansible.builtin.uri: - url: "http://127.0.0.1:{{ homarr_port }}/" - status_code: 200 - register: homarr_http + url: "http://127.0.0.1:{{ bettershift_port }}/" + status_code: + - 200 + - 307 + - 308 + follow_redirects: none + register: bettershift_http retries: 30 delay: 3 - until: homarr_http.status == 200 + until: bettershift_http.status in [200, 307, 308] changed_when: false