My home lab is where I spend a fair amount of my free time learning things, or doing very silly projects just to see if I can. It’s one huge, ongoing project that will probably never quite end. This page is partly to show off, partly to show what you can do with hardware, time, and ingenuity.
Network
My home network is a mess, I’m not going to lie. However, it works! I’m slowly untangling it and further securing the network. Components include:
- Netgear CM1000 Cable Modem
- Only the finest 500 Mbps cable connection that Austin can offer while across the highway they have 1Gbps fiber. Good enough though.
- pfSense router + firewall
- For now, this runs on an old desktop computer with a 4 port Intel NIC stuffed into a PCIe slot. It works really well, but I am looking to move this to a dedicated router appliance.
- I’ve set up multiple vLANs to separate and secure networks and sometimes I even set them up correctly!
- One day I’ll figure out how to fully connect the site-to-site VPN from my cloud environment too.
- HP Procurve managed switch
- For all of my switching needs.
- Sometimes I don’t mess up my entire network when making changes.
- Asus wireless router
- I use this as a router to further separate my wireless network and LAN from other networks. It makes my roommates happy – when I get curious about making network configuration changes I can just plug my modem directly into this so they have internet while I struggle to fix the most recent thing I’ve broken.
- Putting a gateway between my wifi/LAN and my server network also just makes life easier.
- Oracle Cloud virtual network
- Good old fashioned cloud network. This works in tandem with my VPN to put the burden of opening firewall ports on Oracle Cloud.
- This has a couple of networks, one which is used for inbound connections and another which I’m using to learn how to set up a site to site VPN.
- Zerotier VPN
- One more layer of separation for everything. My servers all communicate to each other over P2P VPN connections even though they’re usually on the same network.
- The best advantage of this is to ensure they can communicate with my Oracle Cloud HAProxy VM which is the “gateway” for any services I host.
Here’s a neat diagram I put together to explain how an example connection would work:
Dell PowerEdge R620
This was my first real server, and so far my favorite. She screams like a banshee when I reboot her for maintenance updates, it’s too expensive to buy more 2.5″ SAS drives to expand the storage, and it has the most incredibly inconvenient dimensions (1U height, 28″ length), but it’s been so fun to learn with. This server has been my longest running project, and is where this site lives!
I purchased this used from Amazon for about $450 and got way more than I paid for. She has some very nice specs for a home lab server:
- 2x Intel Xeon E5-2660 @ 2.20GHz (8 cores/16 threads)
- 128 GB ECC RAM
- 4x 600GB 10k RPM SAS HDD’s in RAID 1+0
- PERC H710 Mini controller
- 6 empty 2.5″ drive bays
- iDrac enterprise
What does this server do?
Anything I can figure out is the short answer. Primarily though, it runs ESXi and all of the VM’s managed with the hypervisor. Uses include:
- Kubernetes Cluster
- 3x Debian 11 VM’s
- 1 Control node, 2 worker nodes
- Personal Jamf test environment
- 2x Jamf Pro servers on Debian 11 (clustered and connected to an external database)
- Standalone Jamf Pro server on Windows Server 2022
- Jamf Pro app orchestrated through Kubernetes (connected to an external database)
- Active Directory test environment
- Domain Controller
- DNS
- Certificate Services
- Network Device Enrollment Service
- IIS Webserver (HTTPS file server)
- Network Policy Server
- Webserver
- Debian 11 + Apache2 + PHP
- PiHole
Dell PowerEdge T420
This is my 2nd and only other actual server. I acquired this from a friend for the fantastic price of free. Being free though it’s missing a few things and is a work in progress.
She’s also got some fairly nice specs for a home lab server:
- 2x Intel Xeon E5-2440 @ 2.40 GHz (6 cores/12 threads)
- 64 GB ECC RAM
- 500 GB SATA SSD (“mounted” internally)
- 8 empty 3.5″ drive bays
- An empty space where a PERC H710 Controller will soon exist in
- Several empty PCIe slots with room for full sized cards
- iDrac enterprise
What she needs:
- RAID controller
- New thermal paste application
- Drive caddys
I’m putting in a PERC H710 Controller once it gets here, then moving the 7200 RPM SATA drives I’m using for my current NAS into this machine once I acquire some drive caddys. The plan with this server is to run TrueNAS bare metal and take advantage of the built in plugin functionality to run several apps in containers alongside providing traditional network storage.
I’m going to swap out the SSD from my current NAS to this machine for the OS drive, then use the 500GB SSD for the app jails. Every other drive will be much cheaper SATA HDD’s – I don’t need my network storage to be super fast SSD’s or SAS drives. Just need it to exist.
What does this server do?
Nothing yet, I need to finish building it first. I have several planned apps though: Jenkins, Zabbix, Plex, Guacamole, Gitlab, and more!
Repurposed Mac Mini’s
I love these little things. I’ve got two fairly old Mac Mini’s and both are chugging along quite well.
Mac Mini Server (late 2012)
This is a fairly rare model of the Mac Mini, it was originally marketed as a server. It originally came with two 1TB HDD’s (versus a singular HDD in most Mac Mini’s), both of which have been swapped for 1TB SSD’s. I originally was going to use this for other projects so I am using ESXi on it, however it’s only running one VM. I’m lazy and managed to get a licensed copy of ESXi for it, so I figured I’d just let it be.
It’s got some oomph for a decade old Mac Mini:
- Intel i7-3615QM @ 2.30GHz (4 cores/8 threads)
- 16 GB non-ECC RAM
- 2TB SATA SSD storage
What does this server do?
The singular ESXi VM is Debian 11, which runs MySQL Community Server. This is the “external database” I talk so much about. Having a nearly 2TB large database dedicated database server running on SSD’s is just so incredibly nice. I don’t think I’ll ever really need to think about database storage.
I’ve been on the fence about even using this since setting it up – I feel like it might be better to backup the databases, then put these drives in my PowerEdge R620 in RAID 1, then set the database server back up on that virtual volume. However I’d have to tear apart the Mac Mini to get to both drives and that is more effort than it’s worth for now. I think I’d rather wait for a dip in SSD prices and just buy two newer, better SSD’s for that plan.
Mac Mini (late 2012)
This is a much less rare Mac Mini with less fun specs:
- Intel i5-3210M CPU @ 2.50GHz (2 cores/4 threads)
- 8 GB non-ECC RAM
- 128 GB SATA SSD primary drive
- 2x 2TB 7200 RPM SATA HDD’s (USB attached SCSI) storage
What does this server do?
This is my NAS! This runs TrueNAS and is where my backups go to live. The backups are synced nightly with a Google Cloud storage bucket.
This server will very soon be replaced by an actual server, the T420 I wrote about up above. The T420 will let me have much, much more fun with TrueNAS.