My Homelab Journey

The Beginning: Scratching an Itch My homelab journey didn’t start with grand ambitions. It began with the desire to watch TV on my netbook (remember those?), when I was bored in computing classes at high school and 6th form. Ever the stringent professional, I know… This was back in the days where Netflix would send out DVDs, and the little netbook didn’t have a DVD drive! I did, however, have one of those old school Mac Minis with a DVD drive. That meant I had options. I could watch the DVDs, great, but when I was away from home? Zilch. ...

March 17, 2025 · 5 min · Josh J

The Importance of the Homelab

I believe that when more people understand technology, companies providing technology services will be held to a higher standard. So, in service of that, here’s my pitch to get you to start a homelab! What is a Homelab? At its core, a homelab is a safe place to experiment. With hardware, software, networking, and even dealing with angry users when your recipes app isn’t accessible and your significant other really needs the next step for that chili! ...

March 10, 2025 · 5 min · Josh J

LinuxServer.IO Unifi Controller Deprecation

Within an article on their website, LinuxServer.io have announced that they will be deprecating the current linuxserver/unifi-controller public image as of 2024/01/01. Happy New Year! The README on the current tooling that I imagine most are using mentions a direct upgrade if you were using the mongoless tag which, due to what’s colloquially known as “Sod’s Law”, I am not. On the new repo as well as the DockerHub page, the docs currently have a brief mentioning of requiring an external MongoDB instance but the code snippits don’t actuall have one… This seemed a little problematic, and after migrating my setup last night, figured I’d include a quick walkthrough. ...

September 20, 2023 · 3 min · Josh J

UPDATE: Jenkins with HTTPS in a Docker Container

The previous post on this topic is still relevant, however, since my selection of a new reverse proxy, I felt it necessary to publish an update. Assumptions You know what HTTPS and SSL certificates are/do and how the CA ecosystem works You have a domain that you plan to use for the Jenkins instance and this domain either doesn’t have a CAA record or has one that allows LetsEncrypt You understand the general working of containers and have docker installed on your system. Docker/Docker Compose knowledge is a plus but not required, you can basically just copy/paste code to get this working. I’ll also go over some common pitfalls at the end You either have your own reverse proxy setup and can handle this or you’re using my Traefik config You know what Jenkins is and why you should be using it. If you don’t, use the Google machine OK, let’s get this show on the road. ...

June 15, 2020 · 6 min · Josh J

ZNC + Docker - A Containerized IRC Bouncer

Twitter? Garbage. Facebook? Garbage. Do you enjoy having your data harvested and sold? No? Good. Back in the day, there was this thing called Internet Relay Chat. What if I told you… It still exists! Internet socializing without all the Silicon Valley data theft! But due to how the ecosystem works, any time you’re not actively connected to the server, you don’t receive any messages. This means that you don’t get to see conversations that happen while you’re offline, even if somebody mentions you! ...

June 8, 2020 · 10 min · Josh J