diff options
| author | Joe Carstairs <me@joeac.net> | 2026-08-13 16:35:47 +0100 |
|---|---|---|
| committer | Joe Carstairs <me@joeac.net> | 2026-08-13 16:35:47 +0100 |
| commit | 9f2ebc2cce3af0e685677c23f2098c115e034adf (patch) | |
| tree | bc6609cf851ee3f0a4f572d762b4ea35a34610f6 /roles/actualbudget | |
| parent | f31e65c51681823ade14abad87c742101a1b823d (diff) | |
move ansible/ dir to root
Diffstat (limited to 'roles/actualbudget')
| -rw-r--r-- | roles/actualbudget/tasks/main.yml | 52 | ||||
| -rw-r--r-- | roles/actualbudget/templates/openrc/actualbudget | 26 |
2 files changed, 78 insertions, 0 deletions
diff --git a/roles/actualbudget/tasks/main.yml b/roles/actualbudget/tasks/main.yml new file mode 100644 index 0000000..81c89f2 --- /dev/null +++ b/roles/actualbudget/tasks/main.yml @@ -0,0 +1,52 @@ +- 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 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 diff --git a/roles/actualbudget/templates/openrc/actualbudget b/roles/actualbudget/templates/openrc/actualbudget new file mode 100644 index 0000000..52fd8f0 --- /dev/null +++ b/roles/actualbudget/templates/openrc/actualbudget @@ -0,0 +1,26 @@ +#!/sbin/openrc-run + +description="Run actualbudget budgeting server" + +start() +{ + ebegin "Starting actualbudget" + start-stop-daemon --start \ + --exec /usr/local/bin/actual-server \ + --env ACTUAL_DATA_DIR={{ actualbudget_data_dir }} \ + --background \ + --stdout /var/log/actualbudget.log \ + --stderr /var/log/actualbudget.log \ + --make-pidfile \ + --pidfile /run/actualbudget.pid + eend $? +} + +stop() +{ + ebegin "Stopping actualbudget" + start-stop-daemon --stop \ + --exec /usr/bin/pnpx \ + --pidfile /run/actualbudget.pid + eend $? +} |
