Loren Lisk

A Choice for Compute Independence

Home-labbing

Fifteen years of a homelab, told in photos: four homes since 2011, and two matching 30U racks, collected together around Smyrna and Marietta, Georgia, in a Home Depot rental truck. One still runs the lab; the other now holds the batteries for the powerwall. Every photo is in the datacenter gallery, and the current setup is at the bottom.

Georgia 2011 – 2014

The lab started in Georgia: one enclosed rack, a KVM drawer and prometheus, a Dell PowerEdge running VMware vSphere, later replaced by OpenStack across a fleet of second-hand Dells. By 2014 it was also running USB bitcoin miners, just before the move to Florida.

Feb 2011. Where it starts: an enclosed rack, a KVM drawer, and prometheus, a Dell PowerEdge that ran VMware vSphere, caught here at a Debian 6 login prompt.
Feb 2011. Where it starts: an enclosed rack, a KVM drawer, and prometheus, a Dell PowerEdge that ran VMware vSphere, caught here at a Debian 6 login prompt.
Mar 2012. The rack opened up: switches and 1U servers, with a desktop tower riding along at the bottom.
Mar 2012. The rack opened up: switches and 1U servers, with a desktop tower riding along at the bottom.
Mar 2014. USB bitcoin miners on a powered hub, perched on top of a server.
Mar 2014. USB bitcoin miners on a powered hub, perched on top of a server.

Ormond Beach apartment 2014 – Jul 2015

First stop in Florida was a rental apartment in Ormond Beach. The 30U rack lived in a hallway closet, Supermicro and Dell servers stacked under purple Extreme Networks Summit 400-48t switches. Getting the most out of those switches took some creative problem-solving.

Jan 2015. The first 30U rack, wedged into a hallway closet, purple Extreme Networks switches up top.
Jan 2015. The first 30U rack, wedged into a hallway closet, purple Extreme Networks switches up top.
Jan 2015. The Summit 400-48t switches, 48 gigabit ports apiece, over a wall of 1U and 2U servers. An order confirmation dates one to October 10, 2014.
Jan 2015. The Summit 400-48t switches, 48 gigabit ports apiece, over a wall of 1U and 2U servers. An order confirmation dates one to October 10, 2014.
Mar 2015. Recabled, with red and blue runs off the Extreme switch.
Mar 2015. Recabled, with red and blue runs off the Extreme switch.

Daytona Beach rental Jul 2015 – Sep 2019

Four years in a Daytona Beach rental, and the busiest stretch in the photos: storage builds, three Atom cluster nodes lost to one Intel bug, a pegboard network wall and a short-lived RGB phase. It ends with a flight case bought for one job, moving the lab.

Nov 2015. The rack stripped down to clean and rebuild, moving boxes still in the room.
Nov 2015. The rack stripped down to clean and rebuild, moving boxes still in the room.
Nov 2015. A Supermicro 2U storage server, mid-build.
Nov 2015. A Supermicro 2U storage server, mid-build.
Apr 2016. Back in service, with fresh red patch cables.
Apr 2016. Back in service, with fresh red patch cables.
Apr 2016. Then it got RGB LED strips. They lasted three or four months, until the adhesive failed and the lights had become more annoying than fun.
Apr 2016. Then it got RGB LED strips. They lasted three or four months, until the adhesive failed and the lights had become more annoying than fun.
Apr 2016. Colour-cycling, with the moving boxes still stacked behind it.
Apr 2016. Colour-cycling, with the moving boxes still stacked behind it.
Apr 2016. Dell PowerEdge up top, Supermicro hot-swap storage below.
Apr 2016. Dell PowerEdge up top, Supermicro hot-swap storage below.
Dec 2016. The rack in its corner, a pegboard of network gear on the wall above.
Dec 2016. The rack in its corner, a pegboard of network gear on the wall above.
Apr 2017. One of three ASRock Rack C2750D4I cluster nodes: eight Atom cores on a Mini-ITX board, each bought with maxed-out RAM when that was a big purchase. Intel's Atom C2000 clock-signal bug killed all three within about a week of each other.
Apr 2017. One of three ASRock Rack C2750D4I cluster nodes: eight Atom cores on a Mini-ITX board, each bought with maxed-out RAM when that was a big purchase. Intel's Atom C2000 clock-signal bug killed all three within about a week of each other.
Apr 2017. Two of the C2750D4I nodes in their small cases, a switch on top, banana for scale. First item on the whiteboard: backups for all the VMs.
Apr 2017. Two of the C2750D4I nodes in their small cases, a switch on top, banana for scale. First item on the whiteboard: backups for all the VMs.
Apr 2018. The same two C2750 servers, now hung on a Wall Control metal pegboard with the network gear and a UniFi access point.
Apr 2018. The same two C2750 servers, now hung on a Wall Control metal pegboard with the network gear and a UniFi access point.
Apr 2018. The first ODROID, a simple NFS NAS, on the shelf beside the internet gateway.
Apr 2018. The first ODROID, a simple NFS NAS, on the shelf beside the internet gateway.
Jun 2018. Servers stacked on the new flight case, bought for moving the lab between homes. It earned its keep in Sep 2019, in two or three trips.
Jun 2018. Servers stacked on the new flight case, bought for moving the lab between homes. It earned its keep in Sep 2019, in two or three trips.

Tools built for the lab

The Daytona years also produced a few small tools for keeping the lab running, all public on GitHub.

  • Jan 2016 - nas4free-cfgbackup-docker, a cron job in a container that keeps a NAS4Free box's config in git. Every minute it logs in to the web UI, downloads config.xml the way the backup page does, and commits and pushes only when something changed. The NAS credentials come in as environment variables. The lab's storage runs TrueNAS SCALE today
  • Nov 2016, rebuilt Jul 2025 - liskl-base, minimal base images built FROM scratch out of Alpine minirootfs tarballs and published to Docker Hub as liskl/base. The 2025 rebuild covers Alpine 3.14 through 3.22 on seven architectures, plus riscv64 from 3.20 on, built by a GitHub Actions matrix
  • Mar 2017 - dockerized-racadm, Dell's racadm CLI in a CentOS 7 container, so any Docker host can reach a PowerEdge's iDRAC out of band without installing Dell's tools. Built on a self-hosted Drone CI

Ormond Beach, today Sep 2019 – now

Back in Ormond Beach, this time in a house. The big rack settled into a closet with a wall cabinet above it. A three-NUC minilab came next, bought on eBay in June 2022 and racked in an 8U 10-inch rack; it ran the cluster as k3s in 2025 and has since been handed down to my son. In 2026 the Minisforum refresh moved the cluster to three Mini-ITX nodes in a 12U 10-inch rack, which now run entirely on 10 Gb fiber.

Dec 2019. Settled into the new house: the rack in its closet.
Dec 2019. Settled into the new house: the rack in its closet.
Mar 2022. More PowerEdge, same closet.
Mar 2022. More PowerEdge, same closet.
May 2022. A wall-mount cabinet goes up above the rack for the network gear.
May 2022. A wall-mount cabinet goes up above the rack for the network gear.
Oct 2023. The big rack, nearly full.
Oct 2023. The big rack, nearly full.
Apr 2025. A pfSense SG-1000 fitted to a 10-inch rack plate, as the firewall for the NUC minilab's network.
Apr 2025. A pfSense SG-1000 fitted to a 10-inch rack plate, as the firewall for the NUC minilab's network.
Jan 2026. OPNsense on a Deciso DEC2700 at the top of the wall cabinet, over a keystone patch panel. It arrived in May 2025, five days before the fiber internet that now lands on its SFP+ port.
Jan 2026. OPNsense on a Deciso DEC2700 at the top of the wall cabinet, over a keystone patch panel. It arrived in May 2025, five days before the fiber internet that now lands on its SFP+ port.
Apr 2026. The Minisforum refresh begins: a new 12U 10-inch rack and three 2U node cases, with the last two boards still on their way.
Apr 2026. The Minisforum refresh begins: a new 12U 10-inch rack and three 2U node cases, with the last two boards still on their way.
Apr 2026. The NUC minilab it replaced, photographed the same day: nuc-01 to nuc-03 (bought on eBay in June 2022) and a Netgear gigabit switch in an 8U 10-inch rack. It ran the k3s cluster in 2025 and has since been handed down to my son.
Apr 2026. The NUC minilab it replaced, photographed the same day: nuc-01 to nuc-03 (bought on eBay in June 2022) and a Netgear gigabit switch in an 8U 10-inch rack. It ran the k3s cluster in 2025 and has since been handed down to my son.
Jul 2026. Copper pulled: every node now talks over bonded 10 Gb fiber.
Jul 2026. Copper pulled: every node now talks over bonded 10 Gb fiber.
Oct 2026. The big rack today. Most of it is retired; the 12-bay R730xd at the top still runs TrueNAS for the cluster. The two white antennas on top are Nabu Casa Z-Wave and Zigbee radios.
Oct 2026. The big rack today. Most of it is retired; the 12-bay R730xd at the top still runs TrueNAS for the cluster. The two white antennas on top are Nabu Casa Z-Wave and Zigbee radios.
Oct 2026. The mini rack today: the retired SG-1000 and a 5-port switch, a 2.5 Gb PoE switch with 10 Gb uplinks, a JetKVM per node, and three Ryzen 9 nodes.
Oct 2026. The mini rack today: the retired SG-1000 and a 5-port switch, a 2.5 Gb PoE switch with 10 Gb uplinks, a JetKVM per node, and three Ryzen 9 nodes.
Oct 2026. A few more ODROIDs followed to run Ceph, until ARM compatibility issues ended that experiment. They sit on a shelf now, unused.
Oct 2026. A few more ODROIDs followed to run Ceph, until ARM compatibility issues ended that experiment. They sit on a shelf now, unused.

The software

Four homes, three platforms. VMware vSphere came first, on prometheus, a Dell PowerEdge, through version 5.5. Still in Georgia, OpenStack replaced it, spread across Dell PowerEdge R510, R610 and R710 servers picked up for $150 to $500 apiece when a former employer shut down a data center. Kubernetes arrived in 2015, starting around 0.9 (1.0 shipped that July), and ran on top of OpenStack until 2016 or 2017, when it went bare metal on the same Dells, built by hand following Kelsey Hightower's Kubernetes the Hard Way. In 2025 it moved to k3s on the NUC minilab, and in 2026 onto the Minisforum nodes in the 12U mini rack; the big rack now only keeps storage online. The first of those nodes, vulcan, started out as a standalone AV1 encoder, running a video-processing script that dates back to April 2025. In May 2026 that script grew into the Video Ingestion System, a Kubernetes-native distributed encoder that now runs on the cluster.

What it runs on today

  • Edge - OPNsense on a Deciso DEC2700, with two internet uplinks: fiber and satellite. The firewall and the fiber both arrived in May 2025, five days apart
  • Compute - a three-node k3s cluster on bare metal (vulcan, worker-02, worker-03), on Minisforum BD795i SE Mini-ITX boards: Ryzen 9 7945HX (16 cores, 32 threads), 128 GB of DDR5 (the spec sheet says 96) and a 2 TB NVMe each. vulcan's board came first, in August 2025, and spent its first months as a dedicated video encoder; the other two arrived at the end of April 2026
  • Out-of-band - a JetKVM per node, mounted in the 10-inch rack above them
  • Network - an all-fiber 10 Gb SFP+ fabric; each node bonds two Intel 82599 ports into 20 Gb. Ubiquiti EdgeSwitches and UniFi cover the rest of the house
  • Storage - gringotts, a Dell PowerEdge R730xd running TrueNAS SCALE, serving iSCSI and NFS to the cluster
  • Delivery - Flux GitOps; this site is built into an image and served from the cluster

One of the apps the cluster runs is a storage inventory system I wrote, built around NFC-tagged bins.

More photos, in order, in the datacenter gallery.

"If I had more time, I would have made this shorter."

Top Of Page