I haven’t been able to make progress on my homelab. The setup was all local and I was mostly working on my own, so it wasn’t as fun to work on after a point. I also started overthinking parts of the setup, which is ironical since the idea of a lab is to experiment. Then I started seeing discussions around self-hosting email, and that got me thinking about how I could reframe the project.
My current public infrastructure is a combination of three services - a web server, DNS and email - which overlapped with ideas I had for the homelab. Being able to manage these services myself sounded like a fun challenge - and suddenly the project became exciting to work on again!
I was sure that I wanted to host on a Virtual Private Server or VPS - I wasn’t ready to host a machine at home just yet. A VPS lets me configure a Linux machine the way I would at home, but without me having to deal with public Internet traffic at home. The setup is also not tied to any specific platform, so I can move to a Linux machine on another provider or switch to a home-based setup whenever required.
I have hosted my website on a small VPS before and know that it can handle the current level of traffic, so I decided to stick with the same specs and see if it could handle DNS and email too. After some trial and error with providers, I settled on the smallest VPS offering from Mythic Beasts - 1 CPU, 1GB RAM and a 5GB SSD. It is currently hosting this website, a mailserver and an authoritative DNS server for this domain, and it seems to be running fine so far.
The original homelab setup is still useful as it has more resources than the public machine does. This makes it useful for running multiple virtual machines to simulate networks, or for ideas that require me to interact with lower levels of the network stack or the hardware.