The World of Self-Hosting

A few years ago, probably more than I'd ever want to admit to, I found a passion for making complicated systems simple.

The World of Self-Hosting
Custom modified 1924-1928 Geisha of Sheffield gramophone housing a media PC

A few years ago, probably more than I'd ever want to admit to, I found a passion for making complicated systems simple. This eventually manifested in a career in development, but long before that, I dabbled in open source software before I truly understood how empowering it can be.

My first project started off as a way to optimise my movie watching experience. This resulted in a dedicated home theatre PC (HTPC) which was built into the Geisha of Sheffield's free-standing gramophone you can see pictured above. It was powered by a version of XBox Media Center (XBMC) and had some very early and rudimentary voice recognition software mimicking some of the features we take for granted now days (and nowhere near as effectively, of course!).

Technology has long since moved on and massively surpassed the capabilities of this old project, but it still bares fond memories to me as the gateway into my current hobbies. The gramophone was restored and modified as a joint woodworking project alongside my dad. The PC's mounting brackets were all hand crafted and the project lasted a fair few years.

Eventually the hardware became obsolete and was replaced by a Raspberry Pi and a hard drive - much easier to move around! This is where I started using Docker; arguably one of the most powerful tools for self-hosters - at least in my opinion.

Docker opened a huge world of free open source software for all sorts of interests, some of which I was not ever aware I had. I started small with a single container. It wasn't long before I added another and another. Now I had a few running, I needed a way to manage them. But remembering the IPs was now becoming an issue. I could have used bookmarks, but that felt ugly. I added a reverse proxy, but I wanted to use an internal domain so next was a self-hosted DNS. What if I'm away from home though? How can I access my services, I'll need a container to handle that too...

... It's easy to get lost in the vast plethora of containers. They are too easy to spin up, test out and see if they will fix an issue or otherwise provide a use. I found that a lot of the issues I had trying to organise my digital life were not new and someone had already dedicated significant time and resources into fixing long before I knew it was a problem.

From organising paperwork, consolidation of smart device control, writing a blog (like this one here!), there's likely already one or more containers to help out. Thankfully, there's a massive, helpful and active community supporting all of these. Even if you have an issue that is not already covered, creating a new container to fill your needs is incredibly simple. The best part is, most of the software to create these containers is free. All it takes is a computer and time (and usually a few hours of asking "Why doesn't this work?" shortly before asking "Why does this work!?").