User Tools

Actual Budget

Actual Budget is a super fast and privacy-focused app for managing your finances. At its heart is the well proven and much loved Envelope Budgeting methodology. You own your data and can do whatever you want with it. Featuring multi-device sync, optional end-to-end encryption and so much more

Installation

Create the usual dedicated user. Also, all data needs to be located in a dedicated folder that will be /data/budget-data:

useradd -d /data/daemons/actualbudget -m actualbudget
mkdir /data/budget-data
chown actualbudget:actualbudget /data/budget-data

Now, as actualbudget user, create the following docker compose file:

docker-compose.yml
version: "3.7"
services:
  actual_server:
    image: docker.io/actualbudget/actual-server:latest
    ports:
      # This line makes Actual available at port 5006 of the device you run the server on,
      # i.e. http://localhost:5006. You can change the first number to change the port, if you want.
      - '5106:5006'
    volumes:
      - ./data/budget-data:/data
    networks:
      - actualbudget-net

networks:
  actualbudget-net: {}

Remember to set an available port (5106)!

Now pull it:

podman compose pull

Single Sign On

Currently due to a few design flaws (poor design choices?) Actual Budget doesn't reliably run with authelia SSO. It doesn't even support multi-user at this time, just a single fixed password. Things seems to be improving, will update this info when i will be able to.

Reverse Proxy

You can run Actual Bidget only on a sub-domain.

I assume it will be reachable as https://budget.mydomain.com.

Following this page create a NGINX config file called /etc/nginx/com.mydomain/budget/budget.conf like this:

budget.conf
server {
        server_name budget.mydomain.com;
        listen 443 ssl; 
        listen 8443 ssl; 

        access_log /var/log/nginx/budget.mydomain.com_access_log main;
        error_log /var/log/nginx/budget.mydomain.com_error_log info;

        location / {
                proxy_pass http://127.0.0.1:5106/;
                proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
                proxy_set_header Host $host;
        }
}

Autostart

To start it, and set it up on boot, as usual follow my indications Using Containers on Gentoo, so link the user-containers init script:

ln -s /etc/init.d/user-containers /etc/init.d/user-containers.actualbudget

and create the following config file:

/etc/conf.d/user-containers.actualbudget
USER=actualbudget
DESCRIPTION="Budgetting application server"

Add the service to the default runlevel and start it now:

rc-update add user-containers.actualbudget default
rc-service user-containers.actualbudget start

Reset password

Actual budget relies on a single password for authentication. If you need to replace it, these are the commands.

You can find your container ID with:

podman ps
su - actualbuget
podman exec -it <<container-id>> /bin/sh

Then type:

node /app/src/scripts/reset-password.js

This website uses cookies. By using the website, you agree with storing cookies on your computer. Also, you acknowledge that you have read and understand our Privacy Policy. If you do not agree, please leave the website.

More information