<< Previous | Next >>

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.

  1. Log into the Tailscale admin and navigate to the machine details to get the domain
  2. SSH into the server and cd into the ~/actual/ directory
  3. Run the following
sudo tailscale cert DOMAIN_HERE
  1. Stop the server
sudo docker compose down
  1. 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.

Further Reading

References