diff options
| author | Joe Carstairs <me@joeac.net> | 2026-08-12 13:58:20 +0100 |
|---|---|---|
| committer | Joe Carstairs <me@joeac.net> | 2026-08-12 16:11:52 +0100 |
| commit | 4bad66b2caa433bffbe1996c11e1e2360a8d6152 (patch) | |
| tree | b5b7fb7e8aa250617df401a423f66e5eaf7822b1 /ansible/roles | |
| parent | 443bdb36040cbd749588e14c9569d276f8e0b6e9 (diff) | |
ansible-ises actualbudget
Diffstat (limited to 'ansible/roles')
| -rw-r--r-- | ansible/roles/actualbudget/tasks/main.yml | 49 | ||||
| -rw-r--r-- | ansible/roles/actualbudget/templates/openrc/actualbudget | 27 |
2 files changed, 76 insertions, 0 deletions
diff --git a/ansible/roles/actualbudget/tasks/main.yml b/ansible/roles/actualbudget/tasks/main.yml new file mode 100644 index 0000000..92cad2f --- /dev/null +++ b/ansible/roles/actualbudget/tasks/main.yml @@ -0,0 +1,49 @@ +- name: Install Git, NodeJS and Yarn + community.general.apk: + name: + - git + - nodejs + - yarn + +- name: Checkout actualbudget source code + register: actualbudget_src + ansible.builtin.git: + repo: https://github.com/actualbudget/actual.git + dest: "{{ actualbudget_src_dir }}" + depth: 1 + version: v{{ actualbudget_version }} + +- name: Install actualbudget dependencies + register: actualbudget_dependencies + changed_when: "'Already up-to-date.' not in actualbudget_dependencies.stdout" + ansible.builtin.command: + chdir: "{{ actualbudget_src_dir }}" + cmd: yarn install + +- name: Install actualbudget service + register: actualbudget_service + ansible.builtin.template: + src: openrc/actualbudget + dest: /etc/init.d/actualbudget + mode: "755" + +- name: Restart actualbudget service and configure to start on boot + when: + actualbudget_src is changed + or actualbudget_service is changed + or actualbudget_dependencies is changed + ansible.builtin.service: + name: actualbudget + enabled: true + state: restarted + +- name: Start actualbudget service and configure to start on boot + when: + not ( + actualbudget_src is changed + or actualbudget_service is changed + or actualbudget_dependencies is changed ) + ansible.builtin.service: + name: actualbudget + enabled: true + state: started diff --git a/ansible/roles/actualbudget/templates/openrc/actualbudget b/ansible/roles/actualbudget/templates/openrc/actualbudget new file mode 100644 index 0000000..456e33e --- /dev/null +++ b/ansible/roles/actualbudget/templates/openrc/actualbudget @@ -0,0 +1,27 @@ +#!/sbin/openrc-run + +description="Run actualbudget budgeting server" + +start() +{ + ebegin "Starting actualbudget" + start-stop-daemon --start \ + --exec /usr/bin/yarn \ + --background \ + --chdir {{ actualbudget_src_dir }} \ + --stdout /var/log/actualbudget.log \ + --stderr /var/log/actualbudget.log \ + --make-pidfile \ + --pidfile /run/actualbudget.pid \ + -- start:server + eend $? +} + +stop() +{ + ebegin "Stopping actualbudget" + start-stop-daemon --stop \ + --exec /usr/bin/pnpx \ + --pidfile /run/actualbudget.pid + eend $? +} |
