Houselab 2.0
More time has passed than I would have liked between blog posts, but in my defense I’ve had a lot going on.
Work switched me over to day shift during the summer from my usual night shift when I had time in the morning, and at night after work to tinker on my lab, and write blogs that ramble on about nonsense. Thankfully I’m back on night shift now where I can continue living in my world of darkness and write blogs about things few people care about. 😈
But the exciting news is that my fiance and I bought a house! Living the millennial dream! So naturally it’s kept us busy. Between closing on the house, moving, cleaning out the old apartment, I’ve had to sneak setting up my homelab in stages. Especially after switching networks/ISPs, all my static DHCP leases changed and all my configs needed reconfiged. It’s been another learning journey, but at least it gave me something to do. Relearning and cementing my Linux knowledge, which truthfully I needed after not focusing on it for a couple of months. Luckily I haven’t broken things too bad. A little, but not too bad.
Since things have gotten more settled, I wanted to outline everything I have going on right now. I guess we should dive in huh?
Let’s start with hardware.
The Proxmox server is a 2012 Mac Mini with 8gb RAM and two 120gb SSD drives, upgraded from the original 4gb and single 120gb HD specs. This was a hand-me-down from my sysadmin Dad who got it new and upgraded it himself the day it arrived before he even turned it on. After using it as his daily driver for years he upgraded to a 2018 Mac Mini and this sat in a closet for years. I finally got it from him after pestering everyone I knew for any old hardware I could put Linux on once I started dabbling.
The main storage array connected to it is an OWC quad elite 4 with four 6TB drives that’s ZFS RAIDz1, and another OWC Thunderbay 4 mini with four 1TB drives that’s also ZFS RAIDz1 that serves as a backup dump for the containers. I would like to start putting root directories on here but I’m unsure if that’s good practice. (Someone please let me know?)
My main workstation is a 2018 i7 Mac Mini running MacOS, and I have a variety of storage attached to it that I’ve shared on my network. A large OWC Thunderbay 4 with four 8TB drives in a RAID5 array, a (filled to the brim) 10TB single backup disk drive that I need to figure out what to do with now, and an OWC 4m2 SSD array with only 3 out of the 4 available slots filled. It contains a 1TB SSD that’s my time machine backup, and two 2TB striped SSDs that I use as a scratch disk for Lightroom and my PhotoPrism server. I still haven’t fully migrated to Linux and likely never will. Linux and MacOS play better together than people give it credit for, which I understand wasn’t always the case.
I have a 2012 MacBook Pro that’s been Frankensteined over the years with two 512GB SSDs, replacing both the original HDD and the optical drive. Battery was replaced and RAM was maxed out to 8GB from the original 4GB. Currently it’s running Arch Linux and even though the battery was recently replaced it still doesn’t hold a charge, so it stays home as my living room computer, when I don’t feel like hunkering down in my office.
There’s another 2018 i7 Mac Mini from my Dad that I currently have running Endeavor OS. A flavor of Arch Linux, it doesn’t do much right now as it’s powered down (why waste the electricity?) but I would like to find a use for it. Ideally it could be a dedicated NAS, torrent server, or another proxmox node or backup server but I know getting proxmox on a T2 Mac is tricky. Any ideas?
Networking still isn’t my strong suit, I reluctantly still use an ISP router. When moving I was able to switch ISPs from Xfinity to Verizon FiOS. I now have symmetrical upload and download speeds of ~900Mbps, a welcomed upgrade from my previous 400/10Mbps Xfinity speeds that I was paying twice as much for. The router from Verizon is also much better, giving me lots of options I didn’t have access to before. I’m sure it’ll only be a matter of time before I buy my own at this point, just wasn’t ready to make that jump yet and didn’t see the need right now.
Proxmox and my Mac Mini are connected to power via a UPS battery backup, and to the internet via a tp-link TL-SG608E Gigabit switch. Nothing fancy, it seemed to be a solid affordable switch for my humble homelab needs. It has some VLAN capabilities I have yet to explore. I simply can’t justify the price tag on Unifi ior Ubiquity hardware just yet. Once I rack all this, maybe.
To physically connect to the switch in the office to the router in the living room I dropped a Cat6 Ethernet cable connected to the switch down the return vent in my office to the basement, and then ran it back up to the router through a pre-existing hole that the fiber cable that brings Internet to my house runs through. I probably didn’t need a 50’ cable but I wasn’t confident a 25’ would reach.
And all that is my humble homelab. I know, I know. Any self-respecting Linux fanboy wouldn’t use Apple hardware the way I do, but in my defense this is the equipment I had laying around and had access to. I first installed Linux on a 2012 MacBook Pro that was sitting in my closet for half a decade and it just worked. I went from Ubuntu to Manjaro to Arch and every install was seamless. And truthfully, I have a hard time understanding why Linux users hate Apple, especially when MacOS is based on the BSD Unix kernel and the hardware is solid. I understand being anti-proprietary and Apple locks down the OS; but to them I say; “At least it’s not Windows?”
Now let’s move on to the OS and other software
The 2012 mini is running Proxmox VE 8.0.4 at the time of this writing. It took me awhile to see it as a device on my network at first, it needed the firewall removed, /etc/resolv.conf updated, and a manual DHCP reservation. All it’s containers were showing up but not the host. I got it up eventually though. I thought simply being plugged in would connect it but I guess not!
Anyway, my homelab is running the usual hosted services everyone hosts, plus a testing server for this website which runs…wait for it…Arch Linux, by the way. At this point this old Mac Mini feels like it’s getting pushed to the limit, I need to work on getting a backup node.
- Uptime Kuma (uptime monitor)
- Wireguard (remote VPN)
- Nginx web server (testing instance for this website)
- Plex
- filebrowser (remote file access)
- trilium (notes)
- ErsatzTV (IPTV)
- pi-hole (adblocker)
- Homepage (dashboard)
- nextcloud
- photoprism (Photo Manager)
- FreshRSS
All of these use the local storage on the Mac Mini for the root directory, but attached storage is attached via bind mounts so the containers can be ephemeral while the storage is stable.
I was going to expand on the containers and what they’re hosting but this post has gone on long enough, I think that will have to please the SEO gods for now. I’ll dive into each container in a separate post and expand on my configuration (or lack thereof) for each. Thanks for reading!
As a reward I shall provide a cat tax, meet Carol (from HR)!