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

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.