Homelab - Part 2 September 2, 2021 on Jonathan's Blog Tags: homelab, devops, self-hosting


Since my previous post I have spent a fair amount of time tinkering with my homelab. In part 1 I hadn’t even built a server yet and now I have a number of services running that my partner and I use on a daily basis. This post includes some of the ups and downs of that tinkering and details the services I am hosting and my plans for the future.

The Good, the Bad and the Ugly

The Good: Shortly after I released the first post in this series the components for my server arrived. I have built a few PCs before and enjoyed the build process, which, in the world of plastic constructions toys, I would equate to Duplo as opposed to Lego, although the stakes can be a little higher. The entire build took a little under two hours, and the system booted straight into the PVE live USB I had plugged in.

The Bad: In my eagerness to get started I neglected to plan as thoroughly as perhaps I should have. I sped through the guided installer for Proxmox1 and set up my first virtual machine. Once Ubuntu 21.042 had installed, I SSH-ed into the VM and installed the required applications to get a Kubernetes cluster up and running. This may all sound as though it was going well, but in the setup I failed to set up static IP addressing for both the Proxmox host and the Kubernetes VM. This would later result in me having to basically start the installation from scratch, with a much more rigidly defined IP addressing strategy for my home network. The re-installation of Kubernetes went smoothly, as it had before, and I had a cluster up and running.

The Ugly: At this point in the story, my experience goes from limited to non-existent. I knew that I wanted to use GitOps3 where possible and had a pretty decent idea of what I wanted to host, but claiming I understood more than that would be straight up lying to you. I would like to stress the fact that this is exactly the reason why I was doing any of this in the first place - to learn. My lack of knowledge did mean that what follows isn’t the best and my homelab is still nowhere near perfect or even good.

The End Result

So after all of this about the highs and lows of my experience, you may be wondering what the end result is like. I changed my plans for what to host a little during the process since I discovered certain things that I needed sooner and found that a few services would not be required if I used something else (*cough cough* nextcloud).

So here is a bit about what I’m hosting, my thoughts on the service as a whole and how the setup and maintenance has gone.

Tackling the Ugliness

Backups are my next priority. My services, from a user perspective, are working nicely and I have started relying upon them. Therefore, backing up data is super important to keeping the self-hosting dream alive. I need to work out a solution to creating offsite backups and will likely be looking into this over the next few weeks and months - so watch this space.

Once backups are sorted I will likely start tidying my manifests and organising my services a little better. Then I will tackle the permissions issues I am experiencing and try to get Jellyfin back to where it was before. I also want to set up a recipe manager (with shopping list support) in the near future. My personal website is also still on Gitlab pages, and while I don’t think it is necessary to self-host this, it would be nice if redirected to this site rather than just being a dead end.

I also want to start creating Ansible roles for certain things I setup. For example, a role to setup whatever my backup solution is and a role to setup wireguard. These are things I need on 4+ different machines (a couple of servers and a couple of personal devices) and therefore the time and effort of creating an Ansible role will pay off quickly.

Thats all for now, but I will hopefully have some more useful and interesting posts to share in the near future.

Articles from blogs I read Generated by openring

So you want to compete with or replace open source

We are living through an interesting moment in source-available software.1 The open source movement has always had, and continues to have, a solid grounding in grassroots programmers building tools for themselves and forming communities around them. Some loo…

via Drew DeVault's blog July 16, 2024

Status update, July 2024

Hi! This month wlroots 0.18.0 has been released! This new version includes a fair share of niceties: ICC profiles, GPU reset recovery, less black screens when plugging in a monitor on Intel, a whole bunch of new protocol implementations, and much more. Thanks…

via emersion July 16, 2024