User Tools

Differences

This shows you the differences between two versions of the page.

Link to this comparison view

Both sides previous revisionPrevious revision
Next revision
Previous revision
services:actualbudget [2024/10/28 14:16] willyservices:actualbudget [2025/01/31 09:49] (current) – [Reset password] willy
Line 1: Line 1:
 ====== Actual Budget ====== ====== Actual Budget ======
  
-[[https://actualbudget.org|Actual Budget]] ...+[[https://actualbudget.org|Actual Budget]] is a super fast and privacy-focused app for managing your financesAt its heart is the well proven and much loved Envelope Budgeting methodology. 
 +You own your data and can do whatever you want with itFeaturing 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 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> <file - docker-compose.yml>
 +version: "3.7"
 services: services:
   actual_server:   actual_server:
Line 13: Line 23:
       # i.e. http://localhost:5006. You can change the first number to change the port, if you want.       # i.e. http://localhost:5006. You can change the first number to change the port, if you want.
       - '5106:5006'       - '5106:5006'
-    environment: 
-      - ACTUAL_WEB_ROOT=/budget 
-      # Uncomment any of the lines below to set configuration options. 
-      # - ACTUAL_HTTPS_KEY=/data/selfhost.key 
-      # - ACTUAL_HTTPS_CERT=/data/selfhost.crt 
-      # - ACTUAL_PORT=5006 
-      # - ACTUAL_UPLOAD_FILE_SYNC_SIZE_LIMIT_MB=20 
-      # - ACTUAL_UPLOAD_SYNC_ENCRYPTED_FILE_SYNC_SIZE_LIMIT_MB=50 
-      # - ACTUAL_UPLOAD_FILE_SIZE_LIMIT_MB=20 
-      # See all options and more details at https://actualbudget.github.io/docs/Installing/Configuration 
-      # !! If you are not using any of these options, remove the 'environment:' tag entirely. 
     volumes:     volumes:
-      # Change './actual-data' below to the path to the folder you want Actual to store its data in on your server. +      - ./data/budget-data:/data 
-      # '/data' is the path Actual will look for its files in by default, so leave that as-is. +    networks: 
-      - ./actual-data:/data +      actualbudget-net 
-    restartunless-stopped+ 
 +networks: 
 +  actualbudget-net: {}
 </file> </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>
  
  

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