Mark McBride

Server Hardware & Operating Systems

I constantly tweak my homelab. Recently I’ve gotten in the habit of periodically taking notes on my setup.

2025: The Shrinking Begins

Highlights:

Platforms Online 24/7

Role OS Board CPU RAM SSD HDD
Primary FreeBSD ODROID-H4U Intel Core i3 N305 64G 1 4
Backup Alpine X12STH-F Intel Xeon E-2324G 64G 1 4
Web FreeBSD Hetzner VPS AMD Epyc (2 cores) 2G 1 0

Platforms Recently Demoted and/or Mostly Offline

Role OS Board CPU RAM SSD HDD
USB-UART OpenBSD RPi5 RPi5 8G 0 0
Testing FreeBSD X12STH-F Intel Xeon E-2388G 64G 1 4

The big change here is replacing the Xeon E2388G with the extremely efficient ODROID. The Xeon is great if you’re compiling a lot of code or frequently doing very process-intense operations, but for my normal usage it’s a bit overpowered. It’s TDP is 95W and can easily jump into the 140 range under load. I was shocked to find I could replace it – with almost no tradeoffs – with an 8-core SBC system that measures 5” x 5”, runs silently, and only uses 7-10 Watts of power, 15 max. And for only about 20% of the cost of the Xeon system. I’ve only had it since mid-year, but so far absolutely no complaints.

The RPi5, is mostly unecessary. It’s not as capable as the ODROID, and I really don’t have any tasks that warrant running a separate system. I did add a PoE + NVMe HAT to it, which gives it its one super power: I can turn it on remotely with a PoE power cycle from my switch without any special wiring into the GPIO. It’s one legit purpose is that it’s wired into the serial console of the ODROID. But most of the time it’s off. I also use it to hack around on OpenBSD, but mostly for the sake of curiosity.

Alpine and FreeBSD remain the winning combo for servers. Both are stable and simple, and having FreeBSD and Linux servers online allows me to cherrypick the best platform for any particular workload.

File Systems

Everything is ZFS now. Prior to Finding FreeBSD, I was using Linux’s Btrfs for all my data storage needs. This year I stopped using anything but ZFS, regardless of OS. A few highlights:

I can’t think of any headaches ZFS has given me. If anything, it’s re-taught me a few things about how to smartly handle data with minimal risk. I can’t recommend it enough.

Platform Details

Xeon E-2324G System

Xeon E-2388G System

ODROID-H4 Ultra System

2023: Leapfrog 2U Setup

Highlights:

Platforms Online 24/7

Role OS Main Board CPU RAM Storage
Primary FreeBSD X12STH-F Intel Xeon E-2388G 128G ZFS: 1 SSD, 4 HDD
Secondary Ubuntu X12STH-F Intel Xeon E-2324G 64G ZFS: 1 SSD, 4 HDD
Web Server FreeBSD Vultr 2 vCPUs 1G UFS: 1 SSD

Platforms Recently Demoted and/or Mostly Offline

Role OS Main Board CPU RAM Storage
Experimental Debian Raspberry Pi 4 Raspberry Pi 4 8G ZFS: 1 SSD

Last year I installed FreeBSD and really liked it. This year I made it my primary and web server. It’s great. I run almost everything in jails and have a few bhyve instances running where I really need a Linux solution. I really enjoy the simplicity of it and have wrote quite a few articles about it now. I’m even working on one for the FreeBSD Journal!

I really like the leapfrog setup. By this I mean, my secondary server is half experimentation, and half ready to take over the primary server’s role if needed. For every jail I have on the FreeBSD primary, I have an identical lxc container on Ubuntu. It’s been interesting to build and rebuild some of these instances as I find minor things to improve my own setup and flow each time. Ubuntu is the current leader, but I’d like to find something lighter and run Ubuntu in a container. Void and Gentoo are always interesting options. I’ve used Alpine a few times in containers and really like it. Might be worth trying it out on metal.

File Systems

ZFS has caught my eye. I’ve long watched it from the sidelines, but with Linux as my only platform I just stuck with in-kernel options. But with FreeBSD it’s trivial to use it.

So I’m in hybrid mode:

2021 And Prior Years

Sadly, I didn’t take the best notes prior to 2021. Here are a few very short notes.