Homelab - Revamp

With my new router (Ubiquiti Dream Machine) finally here, I’ve done a pretty major overhaul of my homelab. In my humble setup, I have four main devices that I’m using at the moment: my desktop, my laptop, my phone, and my server.

Devices

The desktop has been recently been switched back over to Pop!OS 21.04 from Windows 11. To be honest I didn’t mind Windows 11 all that much, but I missed have a linux box for my main machine and if necessary I can still boot Windows 11 on my laptop. My laptop (Dell XPS 15 9500) also runs Pop!OS 20.04, but I do use Parrot on it quite a bit for CTFs through KVM. Next I have my phone, which I recently switched from an iPhone 8 Plus to a Google Pixel 4a that I flashed CalyxOS on. Last, but certainly not least, is my dumpster server. It was a helluva machine back in it’s days before the dumpster, and now it’s a Docker host and backup server for my homelab running Ubuntu server 20.04. I only have a few containers running on it, but two of them play an important role in my homelab.

Wired Connections

Now that I have more than one ethernet port, my philosophy on wired vs. wireless is simple. Wire all the things that can be wired. My desktop, server and printer have all been connected directly to the dream machine. I can’t believe I even messed with that server running wirelessly via a raspberry pi. The server’s performance is significantly better now.

As a final word on wired connections, I’ll say that I would like to eventually get a Cisco switch and play around with configuring that and some of the older laptops I have on a seperate VLAN or something as a CCNA exercise or something.

Docker Containers

This is really my first foray into the world of Docker, and I gotta say I get the hype. I often times will mess up in the configuration of something and have an urge to just nuke and pave, but obviously that’s a little more complicated when you’re talking about a physical system, or even a VM in some cases. Not only that, but the resource cost is minimal with Docker, and while I’m not worried about CPU or RAM on my home server, I’m a little worried about my storage (~500GB). The first container I deployed was Portainer as a way to graphically manage and deploy Docker containers since I’m still new to the whole thing. I did deploy some containers using the typical docker run command.

Wireguard

Now that I have my server connected directly to my router via Ethernet, I decided it was time to ditch ZeroTier as a makeshift VPN. Don’t get me wrong, I think it’s a really cool piece of software, but it was always a temporary solution. I tried Wireguard a few times, but the networking was always tricky because of my janky setup with the pi as a wireless router to the server. Now it all seems to work just fine. The beauty of Docker is that I can just kill the container if I mess up the configuration. Now I can play around some more with Docker while I’m out of town or at a coffee shop, in addition to the added security when connected to public WiFi.

DuckDNS

In order to not have to pay for a static public IP, one of my docker containers runs DuckDNS, which allows me to use a subdomain and a script provided by DuckDNS and not worry about my public IP changing, the script will do all that for me. This is great for any port forwarding that I want to do. For instance if I end up caving and setting up Nextcloud again, all I have to do is point the Nextcloud at that registered subdomain.

What’s next?

I’m glad you’re interested enough to read this far. My plan is to add a homemade NAS (made from a raspberry pi 4 and an SSD) to the network and maybe run a Plex or Jellyfin server off of it. I’m becoming increasingly more interested in the idea of having my own copy of music and movies so that’s more than likely my next move.

Follow Me on Mastodon! Follow Me on Twitter