- name: Install NPM community.general.apk: name: - npm - name: Check current actual-server version register: prev_actualbudget_version changed_when: false failed_when: false ansible.builtin.command: cmd: actual-server --version - name: Install actual-server with NPM block: - name: Install actual-server with NPM ansible.builtin.command: npm install --global @actual-app/sync-server changed_when: false - name: Check new actual-server version register: new_actualbudget_version ansible.builtin.command: actual-server --version changed_when: prev_actualbudget_version.stdout != new_actualbudget_version.stdout - name: Install update script ansible.builtin.copy: src: update_actualbudget dest: /usr/bin/update_actualbudget mode: "755" - name: Install daily timer to update actualbudget ansible.builtin.cron: special_time: daily name: Update actualbudget job: /usr/bin/update_actualbudget - name: Install actualbudget service register: actualbudget_service ansible.builtin.template: src: openrc/actualbudget dest: /etc/init.d/actualbudget mode: "755" - name: Create actualbudget data directory ansible.builtin.file: path: "{{ actualbudget_data_dir }}" state: directory - name: Restart actualbudget service and configure to start on boot when: new_actualbudget_version is changed or actualbudget_service is changed ansible.builtin.service: name: actualbudget enabled: true state: restarted - name: Start actualbudget service and configure to start on boot when: not ( new_actualbudget_version is changed or actualbudget_service is changed ) ansible.builtin.service: name: actualbudget enabled: true state: started