diff options
| author | Joe Carstairs <me@joeac.net> | 2026-08-12 14:52:32 +0100 |
|---|---|---|
| committer | Joe Carstairs <me@joeac.net> | 2026-08-12 16:11:52 +0100 |
| commit | 7a47d09292ac3e603f2701d1517c81108c1a7ac7 (patch) | |
| tree | acff9c687a59ef75a0edb1159f73dbd1907b42a0 | |
| parent | 4bad66b2caa433bffbe1996c11e1e2360a8d6152 (diff) | |
use NPM package for actual, and move to pi-broughton
| -rw-r--r-- | ansible/roles/actualbudget/tasks/main.yml | 47 | ||||
| -rw-r--r-- | ansible/roles/actualbudget/templates/openrc/actualbudget | 7 | ||||
| -rw-r--r-- | ansible/vars/common.yml | 2 |
3 files changed, 29 insertions, 27 deletions
diff --git a/ansible/roles/actualbudget/tasks/main.yml b/ansible/roles/actualbudget/tasks/main.yml index 92cad2f..81c89f2 100644 --- a/ansible/roles/actualbudget/tasks/main.yml +++ b/ansible/roles/actualbudget/tasks/main.yml @@ -1,24 +1,24 @@ -- name: Install Git, NodeJS and Yarn +- name: Install NPM community.general.apk: name: - - git - - nodejs - - yarn + - npm -- 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" +- name: Check current actual-server version + register: prev_actualbudget_version + changed_when: false + failed_when: false ansible.builtin.command: - chdir: "{{ actualbudget_src_dir }}" - cmd: yarn install + 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 @@ -27,11 +27,15 @@ 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: - actualbudget_src is changed + new_actualbudget_version is changed or actualbudget_service is changed - or actualbudget_dependencies is changed ansible.builtin.service: name: actualbudget enabled: true @@ -40,9 +44,8 @@ - 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 ) + new_actualbudget_version is changed + or actualbudget_service is changed ) ansible.builtin.service: name: actualbudget enabled: true diff --git a/ansible/roles/actualbudget/templates/openrc/actualbudget b/ansible/roles/actualbudget/templates/openrc/actualbudget index 456e33e..52fd8f0 100644 --- a/ansible/roles/actualbudget/templates/openrc/actualbudget +++ b/ansible/roles/actualbudget/templates/openrc/actualbudget @@ -6,14 +6,13 @@ start() { ebegin "Starting actualbudget" start-stop-daemon --start \ - --exec /usr/bin/yarn \ + --exec /usr/local/bin/actual-server \ + --env ACTUAL_DATA_DIR={{ actualbudget_data_dir }} \ --background \ - --chdir {{ actualbudget_src_dir }} \ --stdout /var/log/actualbudget.log \ --stderr /var/log/actualbudget.log \ --make-pidfile \ - --pidfile /run/actualbudget.pid \ - -- start:server + --pidfile /run/actualbudget.pid eend $? } diff --git a/ansible/vars/common.yml b/ansible/vars/common.yml index a4db78f..b0d9030 100644 --- a/ansible/vars/common.yml +++ b/ansible/vars/common.yml @@ -3,7 +3,7 @@ joeacnet_src_dir: /usr/share/src/joeac.net services: actualbudget: port: 5006 - host: blade-canongate + host: pi-broughton etherpad: port: 9001 host: blade-canongate |
