skip to content
Maathuran's Blog
Budgeting the 2024 year with Actual

Budgeting the 2024 year with Actual

/ 2 min read

Introduction

Setting up and running the open-source version of Actual with Simplii Fin to sync banks

Installing

Setup a Debian LXC in Proxmox with one core and 512MiB of ram

Installing Prequicits

Run the following one line at a time and accept any new packages

apt-get update
apt-get install -y ca-certificates curl gnupg git

Install Node.JS

Run the following to add the nodesource repo and install Node.JS v20

mkdir -p /etc/apt/keyrings
curl -fsSL https://deb.nodesource.com/gpgkey/nodesource-repo.gpg.key | gpg --dearmor -o /etc/apt/keyrings/nodesource.gpg
NODE_MAJOR=20
echo "deb [signed-by=/etc/apt/keyrings/nodesource.gpg] https://deb.nodesource.com/node_$NODE_MAJOR.x nodistro main" | tee /etc/apt/sources.list.d/nodesource.list
apt-get update
apt-get install nodejs -y

you can check the node version with node -v

root@debian:~# node -v
v20.10.0

Install yarn

install yarn as a global package with the following

npm install --global yarn

Setting up Actual

Clone the GitHub repo with the following.

git clone https://github.com/actualbudget/actual-server.git

Navigate into the folder with cd actual-server, then run yarn install

To start the program, use yarn start

You can use SSH tunnelling to forward Actual’s port to access the setup page

ssh -L 5006:VMIP_URL_HERE:5006 root@VMIP_URL_HERE

But you might get an error saying that you need HTTPS.

Subdomain Forwarding

Add the subdomain on Cloudflare CF then map it on the Nginx Proxy Manager NPM

SimpliFin

A simple-to-use but paid addon that can be used with Actual is SimpliFin. It uses MX as a data provider to integrate into your bank to pull transaction records daily and sync them with Actual.

Install Helper Module

Back in the root, directly clone the Simplefin GitHub link with the following

git clone https://github.com/duplaja/actual-simplefin-sync/

Navigate into the folder with cd actual-simplefin-sync/ then run the app with node app.js

Process Manager 2

An easy way to keep Actual running in the background and SimpliFin every 8 hours is to use Process Manager 2 (PM2)

Installing

npm install pm2@latest -g

Starting Application Actual

Navigate into actual-server then run pm2 start "yarn start"

Starting Application Bridge

navigate into actual-simplefin-sync then run pm2 start app.js --no-autorestart --cron-restart="0 */8 * * *"

Setting up AutoStart

Run the following one line at a time

pm2 startup
pm2 save

You can check the status with pm2 l