Daily Learnings: Sun, Feb 16, 2025
Our most intimate friend is not he to whom we show the worst, but the best of our nature. — Nathaniel Hawthorne
Updating Actual Server
Today I had to update the LetsEncrypt certificate on my Raspberry PI for my Actual Server powering the budgeting tool that I use. This is something that I do infrequently enough that I forget each time, so I thought I’d note some things here on how I do it.
Updating the LetsEncrypt Cert
I use Tailscale to power my home networking and local HTTPS, so I just had to follow the documentation here to update it.
- Log into the Tailscale admin and navigate to the machine details to get the domain
- SSH into the server and
cdinto the~/actual/directory - Run the following
sudo tailscale cert DOMAIN_HERE
- Stop the server
sudo docker compose down
- Move the new certs into the
actual-data/directory
cd actual-data/
sudo mv self-hosted.crt old-cert.crt
sudo mv self-hosted.key old-cert.key
cd ..
sudo mv DOMAIN_HERE.crt actual-data/self-hosted.crt
sudo mv DOMAIN_HERE.key actual-data/self-hosted.key
Update the Actual Server
With the server down, now’s a good time to pull the latest version of the actual-server Docker image:
sudo docker pull docker.io/actualbudget/actual-server:latest-alpine
Next, ensure that the ~/actual/docker-compose.yml file is pointing to the above image, and that your environment variables are all correct. Then, bring the server back up:
sudo docker compose up -d
Once the network and container are running, open the Actual client on your desktop and check that the server is online and syncing correctly.