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:59] 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
  
-Create the usual user:+==== Installation ==== 
 + 
 +Create the usual dedicated user. Also, all data needs to be located in a dedicated folder that will be **/data/budget-data**:
 <code> <code>
 useradd -d /data/daemons/actualbudget -m actualbudget useradd -d /data/daemons/actualbudget -m actualbudget
Line 10: Line 13:
 </code> </code>
  
-loate the Actual Budget data files too +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 21: 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'
-Configuration 
     volumes:     volumes:
       - ./data/budget-data:/data       - ./data/budget-data:/data
-    restart: unless-stopped +    networks:
-        networks:+
       - actualbudget-net       - actualbudget-net
-    restart: unless-stopped 
  
 networks: networks:
   actualbudget-net: {}   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> <file - budget.conf>
 server { server {
-        server_name budget.gardiol.org;+        server_name budget.mydomain.com;
         listen 443 ssl;          listen 443 ssl; 
         listen 8443 ssl;          listen 8443 ssl; 
  
-        access_log /var/log/nginx/budget.gardiol.org_access_log main; +        access_log /var/log/nginx/budget.mydomain.com_access_log main; 
-        error_log /var/log/nginx/budget.gardiol.org_error_log info;+        error_log /var/log/nginx/budget.mydomain.com_error_log info;
  
         location / {         location / {
Line 49: Line 69:
 } }
 </file> </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