Search 72 posts
The SysRacks 32U enclosure lit blue, glass door closed, every unit from the UniFi switching down to the UPS visible.

Home Lab

The vSkilled home lab is a 32U rack of Unraid, Synology and UniFi gear that runs the house and every experiment I write about: storage, media, photos, databases and the AI agents that build this site.

Updated

Rack
32U
Servers, VMs, containers
40
Usable storage
234 TB
Memory
328 GB
Network core
10 GbE
CPU threads
116

00The rack

Walk the Rack

The home lab rack is a SysRacks 32U enclosure, drawn here from top to bottom. Pick a unit to see what it is and what it runs.

The top of the rack: a reserved shelf, a brush panel, the UDM-SE, the USW-Aggregation and the US-48, two Cat6 patch panels, the CyberPower PDU and the Synology below.

00Rack · U32-30

Reserved

Holds
Spare rack screws, fans and cables
The top of the rack: a reserved shelf, a brush panel, the UDM-SE, the USW-Aggregation and the US-48, two Cat6 patch panels, the CyberPower PDU and the Synology below.

02Network · U28

UDM-SE

Role
Gateway, firewall, UniFi OS
Ports
8 x 1 GbE PoE, 2.5 GbE WAN, 2 x 10 GbE SFP+
  • UniFi Network
  • UniFi Protect controller
Read the network layer
The Synology DS1817+ with all eight bays lit, on its shelf under the patch panels and the CyberPower PDU.

01Power · U23

CyberPower PDU

Model
CyberPower PDU15M2F12R
Display
Live amp draw on the front panel
Read the power layer
The Synology DS1817+ with all eight bays lit, on its shelf under the patch panels and the CyberPower PDU.

03Storage · U22-19

NAS1

OS
DSM 7.4
Model
Synology DS1817+
CPU
Intel Atom C2538, 4 cores
Memory
8 GB
Drives
8 x 4 TB
Network
10 GbE
Usable
about 23 TB
  • File shares
  • Time Machine
  • Linux backups
Read the storage layer
The server stack: AKARA in 2U, KRATOS in 4U with a keyed front, and ZION with its hot-swap bays.

04Compute · U15-14

AKARA

OS
Unraid 7
CPU
AMD Ryzen 7 5700X, 8 cores
Memory
128 GB
Cache
Mirrored 1 TB NVMe pair
Array
about 4 TB
  • Immich
  • MariaDB
  • Redis
  • Nginx Proxy Manager
  • Cloudflare Tunnel
  • Windows 11 VM
Read the compute layer
Inside KRATOS: an Antec 750 W supply, a Gigabyte X99 board under a twin-fan Noctua cooler and an MSI GeForce RTX 2080.

04Compute · U13-10

KRATOS

OS
Unraid 7
CPU
Intel Core i7-5820K, 6 cores
Board
Gigabyte GA-X99-Gaming G1 WiFi
GPU
MSI GeForce RTX 2080
Memory
32 GB
Array
about 18 TB + 2 TB cache
PSU
Antec HCG 750M
  • Plex with NVENC transcoding
Read the compute layer
ZION out of the rack: a 4U chassis with fifteen hot-swap bays in three cages.

03Storage · U9-6

ZION

OS
Unraid 7
CPU
AMD Ryzen 5 2600X, 6 cores
Memory
32 GB
Array
11 data drives (12 to 16 TB) + 16 TB parity
Cache
4 TB NVMe
Usable
about 168 TB
  • Media library
  • Syncthing
  • Wiki.js
  • Glances
Read the storage layer

01Power · U2-1

APC SMT1500RM2U

Capacity
1500 VA / 1000 W
Card
AP9631 network management
Fed by
Anker SOLIX C2000 Gen 2
Read the power layer

01Power

Two Batteries Deep

An Anker SOLIX C2000 Gen 2 feeds an APC Smart-UPS SMT1500RM2U. The UPS cleans and holds the load; the SOLIX stretches an outage from minutes to hours. A metered CyberPower PDU spreads it across the rack and shows the draw, because the whole rack shares one 15 A circuit.

  1. Anker SOLIX C2000 Gen 22 kWh LiFePO4 battery for long outages
  2. APC Smart-UPS SMT1500RM2U1500 VA / 1000 W, with an AP9631 card for clean shutdowns
  3. CyberPower PDU15M2F12RMetered PDU, so the draw stays well inside the circuit
The Anker SOLIX C2000 Gen 2 power station that feeds the rack UPS.

02Network

UniFi, 10 GbE at the Core

A UDM-SE routes and runs UniFi OS. A USW-Aggregation is the 10 GbE core and spanning tree root, feeding the US-48 for the rack and two USW-Flex-XG switches out in the house.

UniFi switch topology: the internet feeds the UDM-SE, which links a USW-Flex-XG in the living room over 1 GbE and the USW-Aggregation over 10 GbE. The Aggregation, the spanning tree root, feeds a USW-Flex-XG in the basement and the US-48 over 10 GbE; the US-48 feeds a USW-Flex over 1 GbE.InternetUDM-SEGateway and UniFi OSUSW-Flex-XGLiving roomUSW-Aggregation10 GbE core, STP rootUSW-Flex-XGBasementUS-48Access, 48 x 1 GbEUSW-Flex
10 GbE 1 GbE Switches only; servers hang off the Aggregation and the US-48.
The top of the rack: a reserved shelf, a brush panel, the UDM-SE, the USW-Aggregation and the US-48, two Cat6 patch panels, the CyberPower PDU and the Synology below.

03Storage

Unraid for Bulk, Synology for Files

ZION is the bulk store: Unraid over eleven data drives and a 16 TB parity disk in fifteen hot-swap bays, with a 4 TB NVMe cache in front. The Synology DS1817+ holds files and backups on 10 GbE, the same box that has been running since 2017.

The Synology DS1817+ with all eight bays lit, on its shelf under the patch panels and the CyberPower PDU.
ZION out of the rack: a 4U chassis with fifteen hot-swap bays in three cages.

04Compute

Three Unraid Nodes

ZIONStorage server

CPU
AMD Ryzen 5 2600X, 6 cores
Memory
32 GB
Array
11 data drives (12 to 16 TB) + 16 TB parity

AKARAApplication server

CPU
AMD Ryzen 7 5700X, 8 cores
Memory
128 GB
Cache
Mirrored 1 TB NVMe pair

KRATOSGPU server

CPU
Intel Core i7-5820K, 6 cores
Board
Gigabyte GA-X99-Gaming G1 WiFi
GPU
MSI GeForce RTX 2080
The server stack: AKARA in 2U, KRATOS in 4U with a keyed front, and ZION with its hot-swap bays.
Inside KRATOS: an Antec 750 W supply, a Gigabyte X99 board under a twin-fan Noctua cooler and an MSI GeForce RTX 2080.

05Services

What the Lab Runs

  • Plex
  • Immich
  • MariaDB
  • Redis
  • Nginx Proxy Manager
  • Cloudflare Tunnel
  • Syncthing
  • Wiki.js
  • Glances
  • Windows 11 VM

Outside the rack, the home lab reaches the desk: SER7 runs the coding agents that write and ship this site, and HELIOS takes everything that wants a big GPU.

SER7AI agent server

Model
Beelink SER7
CPU
AMD Ryzen 7 7840HS, 8 cores
Memory
32 GB DDR5

HELIOSWorkstation

CPU
Intel Core i9-14900K, 24 cores
Memory
64 GB
GPU
AMD Radeon RX 7900 XTX 24 GB

06Security

UniFi Protect, Local Only

A UNVR records around nine cameras and a doorbell. A Viewport shows them live on the wall. Nothing goes to a cloud.

The UniFi UNVR in the rack under the Synology DS1817+, its status bar lit.

07AI Tooling

Agents Across the Fleet

The lab is also where the AI agents that build this site live: several coding agents on several plans, one orchestrator, and the same rules and guard rails for all of them. The longer story is in Running AI Coding Agents Across Several Machines.

Orchestration: my instruction goes to Claude Code on Opus, which plans and designs, then a router sends bounded work to Codex, Gemini, Muse or Claude Sonnet by plan headroom. Their results come back to Opus, which verifies every diff before it commits and publishes.YouClaude Code, OpusPlans, designs, decidesRouterPlan headroomCodexReviewsGeminiResearchMuseLarge readsSonnetBounded tasksVerify every diffThen commit and publish
Delegates return evidence, not just a diff; the orchestrator reads all of it before anything ships.
  • One server, every screen

    T3 Code runs on SER7, so an agent thread started at the workstation carries on from the laptop.

  • Four plans, one orchestrator

    Claude Code on Opus plans, designs and reads every final diff. Reviews, research and large reads go to Codex, Gemini, Muse or Sonnet, whichever plan has the most room.

  • Verdicts steer the routing

    Each delegated task is recorded as accepted, reworked, redone or rejected, and those verdicts decide which models get more of that kind of work.

  • Shared rules

    Every agent reads the same global rules and one AGENTS.md per repo, so any of them can pick up any project.

  • A gate on every tool call

    A hook in front of every agent blocks the few catastrophic or secret-leaking actions. Anything that needs root comes back to me as an exact command.

  • Git is the bus

    Each repo has one hub on SER7. A single push mirrors to GitHub and every machine, and site repos deploy from GitHub Actions.

Shipping: an agent commits on SER7 or HELIOS and pushes to the git hub on SER7, which mirrors the push to GitHub and to the checkouts on every machine. GitHub Actions then builds this site and deploys it to Bunny.HELIOSAgent threadsSER7Agent threadsGit hubOne push, mirroredGitHubActionsBuild and testBunny CDNEvery machineCheckouts
Code moves only through git, so every change is a commit; pushes that deploy wait for me to ask.
Governance: an instruction with a clear scope passes the governance gate unless it is catastrophic or leaks a secret, and is done end to end unless it needs root. Unclear scope gets one question; a blocked or privileged step comes back to me as an exact command.yespassesunclearblockedneeds rootInstructionFrom meClear scope?Governance gateCatastrophic or secret?Agent does itAsks onceWhich repo, archive or deleteHands me the commandBlocked or needs root
A clear instruction covers every step it implies; the gate only stops what nobody should run unattended.

08Tech Stack

What It Is Built With

Hardware and platforms

  • UnraidStorage and app servers
  • DockerEvery self-hosted app
  • UniFiNetwork, Wi-Fi and Protect
  • SynologyFile and backup NAS
  • BeelinkAlways-on agent server
  • JetKVMRemote console

Network edge

  • Nginx Proxy ManagerReverse proxy and TLS
  • CloudflareDNS and tunnels
  • NextDNSFiltered DNS
  • Bunny.netHosts this site

Self-hosted apps

  • PlexMedia streaming
  • ImmichPhoto library
  • Wiki.jsLab documentation
  • SyncthingFile sync between machines
  • RedisShared cache and queues
  • MariaDBShared database

AI and development

  • T3 CodeAgent threads on any machine
  • ClaudeOrchestrator and reviews
  • CodexReviews and research
  • GeminiResearch and reads
  • MuseResearch and reads
  • GitHubRepos, PRs and Actions
  • Node.jsTooling runtime
  • AstroThis site
  • TypeScriptSite and tooling code
The 2017 lab on a four-tier wire shelf.

Archive

The Home Lab in 2017

Wire shelving, three Thecus boxes, a Dell C1100 and a lot of floor fans. The original page, photos and comments are kept as they were.