More home-labbing
The HP ProDesk is still going strong. It has served me well and has hosted lots of projects since I set it up.
It also started to feel a bit Well Worn. Containers were configured inconsistently, and data was stored in a bunch of different locations. Portainer felt bloated and hard to manage, and my containers kept getting out of date.
I wanted to start hosting public-facing stuff from my home-lab, but didn't feel comfortable doing so until I cleaned up some of the junk.
Loadout as of May '26
- Ubuntu 24.04 LTS (unlikely to change...)
- Tailscale & Cloudflare Tunnels for remote access
- Docker for running...
Portainer -> Dockge
I used Portainer as my Docker GUI when I was setting things up, but I didn't love how abstracted/clunky it felt. I had compose.yaml files in my home directory, but Portainer kept its own copy in a database somewhere.
Dockge is built around the idea that your compose files on disk are the source of truth. It removes a layer of abstraction and reads/writes the files in a directory you point it at.
That directory by default is /opt/stacks. I moved my compose files to there, and one-by-one tracked down the mount points for my existing containers to move them over.
I think it was worth it though. Now every container lives at /opt/stacks/<container>/, this contains my compose.yaml and a data/ folder where the container is mounted.
This made a couple of things easier...
Version control/updates
I turned this /opt/stacks folder into a git repo. The compose files get tracked and pushed to GitHub; the data/ folders are ignored. I then went through my compose files and replaced version latest with a pinned version tag.
Pinned versions plus a git repo is what Mend Renovate needs to do its job. It watches the repo, and when a new image version is released it opens a pull request with the new version. Once approved by me, a webhook pulls the latest repo state to my server and redeploys the stack.