User Tools

This is an old revision of the document!


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
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'
Configuration
    volumes:
      - ./data/budget-data:/data
    restart: unless-stopped
        networks:
      - actualbudget-net
    restart: unless-stopped

networks:
  actualbudget-net: {}

Remember to set an available port (5106)!

Now pull it:

podman compose pull

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

This website uses technical cookies only. No information is shared with anybody or used in any way but provide the website in your browser.

More information