Run Actual Budget in Docker
Actual Budget is a local-first finance tool written in NodeJS, with synchronization between devices. This procedure runs the server in Docker, stores config.json and data separately, and creates an administrator password through the web interface.1
Install Docker
Log into Linux with sudo access and run:
# install prerequisitessudo apt install apt-transport-https ca-certificates git curl software-properties-common gnupg-agent -y# add docker gpg keycurl -fsSL https://download.docker.com/linux/$(awk -F'=' '/^ID=/{ print $NF }' /etc/os-release)/gpg | sudo apt-key add -# add docker software repositorysudo add-apt-repository "deb [arch=$(dpkg --print-architecture)] https://download.docker.com/linux/$(awk -F'=' '/^ID=/{ print $NF }' /etc/os-release) $(lsb_release -cs) stable"# install dockersudo apt install docker-ce docker-compose containerd.io -y# enable and start docker servicesudo systemctl enable docker && sudo systemctl start docker# add the current user to the docker groupsudo usermod -aG docker $USER# reauthenticate for the new group membership to take effectsu - $USER
apt-key is deprecated on current distributions; compare the command with the current Docker documentation before using the older form.1
Run Actual
- Create the directory, create an empty
config.json, set ownership, and start the container:
# create working directoriesmkdir ~/docker/actualbudget/data -p# create config.jsontouch ~/docker/actualbudget/config.json# write empty config fileecho "{}" > ~/docker/actualbudget/config.json# set owner of working directoriessudo chown "$USER":"$USER" ~/docker -R# allow the container to write to working directoriessudo chmod a+rwx -R ~/docker/actualbudget# run actual budget containerdocker run -d --name actualbudget -p 5006:5006 -v ~/docker/actualbudget/config.json:/app/config.json -v ~/docker/actualbudget/data:/data --restart=unless-stopped actualbudget/actual-server
- Open
http://DNSorIP:5006. - Click Advanced Options.
- Check I understand the risks, then click Open Actual.
- Enter and confirm a private admin password.
- Click Start Fresh.
- Verify the Actual interface.1
Backup and verification
Back up both ~/docker/actualbudget/config.json and ~/docker/actualbudget/data before changing the image. Do not expose port 5006 directly to the Internet; use an HTTPS reverse proxy and firewall rules outside the LAN.1
Source and video
- Original tutorial: i12bretro 0969
- Original video: Run Actual Budget - Open Source Finance Management - in Docker
Sources
Footnotes
-
https://i12bretro.github.io/tutorials/0969.html — Run Actual Budget - Open Source Finance Management - in Docker (i12bretro) ↩ ↩2 ↩3 ↩4
Comments & Discussion
Share your thoughts, ask questions and feedback