This page is read only. You can view the source, but not change it. Ask your administrator if you think this is wrong. ====== Actual Budget ====== [[https://actualbudget.org|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**: <code> useradd -d /data/daemons/actualbudget -m actualbudget mkdir /data/budget-data chown actualbudget:actualbudget /data/budget-data </code> Now, as //actualbudget// user, create the following docker compose file: <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: {} </file> Remember to set an available port (5106)! Now pull it: <code bash> podman compose pull </code> ==== 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 [[https://docs.searxng.org/admin/installation-nginx.html#installation-nginx|this page]] create a NGINX config file called **/etc/nginx/com.mydomain/budget/budget.conf** like this: <file - 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; } } </file> ===== Autostart ===== To start it, and set it up on boot, as usual follow my indications [[gentoo:containers|Using Containers on Gentoo]], so link the **user-containers** init script: <code> ln -s /etc/init.d/user-containers /etc/init.d/user-containers.actualbudget </code> and create the following config file: <file - /etc/conf.d/user-containers.actualbudget> USER=actualbudget DESCRIPTION="Budgetting application server" </file> Add the service to the default runlevel and start it now: <code bash> rc-update add user-containers.actualbudget default rc-service user-containers.actualbudget start </code> ==== 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: <code bash> podman ps </code> <code> su - actualbuget podman ps </code> Then type: <code> podman exec -it <<container-id>> node /app/src/scripts/reset-password.js </code>