Homelab

The rack that keeps growing

What I self-host at home, the hardware it runs on, and where it's headed. It's never finished, and that's the fun part.

What's running

Everything lives in virtual machines and containers on one Proxmox host, with storage handled by TrueNAS.

Proxmox

Hypervisor

The foundation. Every service runs in its own VM or container, so one breaking never takes the rest with it.

TrueNAS

Storage

ZFS storage for everything else: media, backups, and shares.

Coolify

App deployment

A self-hosted platform for spinning up apps and databases. Its built-in proxy gives each one its own address with automatic HTTPS.

Immich

Photos

My own Google Photos: phone backups, albums, and search, kept on my hardware.

Seafile

Files

File sync and sharing across devices, without a third-party cloud.

Jellyfin

Trying out

A media server for the movie and TV library.

Uptime Kuma

Trying out

Status monitoring that pings every service and warns when something goes down.

Cloudflare

Edge and DNS

DNS, protection, and secure access, including this website.

How it connects

From the internet to the drives. Hover or tap any box to see what it does.

Proxmox host One machine. Every service in its own VM or container. CloudflareDNS · protection Fibre3 Gbps, planned Off-site serverWork projects UniFi gatewayRouter · firewall TrueNASStorage FastNVMe MediaRAIDZ2 CoolifyApp platform Immich · photos Seafile · files Jellyfin · media Uptime KumaKeeps an eye on everything

Hover or tap a box to see what it does.

The next server

A rebuild that's being planned in stages, so storage can grow without starting over.

Build plan

Parts chosen, and why each one.

CPU
Intel Core Ultra 7 265KBuilt-in Quick Sync handles video transcoding for Jellyfin without a separate graphics card. Plenty of cores for the VMs, and low power at idle.
Board
ASUS Pro WS W880-ACE SEA workstation board, because it supports ECC memory, which regular desktop boards don't. Room for the HBA and the NVMe drives too.
Memory
64 GB ECCECC catches memory errors before they reach the data. 64 GB covers every VM plus ZFS caching, with slots free to add more.
Cooler
Noctua NH-U12AQuiet and dependable. An air cooler has no pump to fail on a machine that runs 24/7.
PSU
Corsair RM1000xEnough power for a case full of hard drives spinning up at the same time, and silent at low load.
Case
Fractal Design Define 7Room for lots of drives, and sound-dampened panels so a box full of disks stays quiet.
Controller
16-port HBAConnects far more drives than the motherboard can, and hands them straight to TrueNAS, which ZFS needs to work properly.
Boot
2× 480 GB SSD, mirroredIf one boot drive dies, the server keeps running on the other.
Fast pool
2× 4 TB NVMe, mirroredVMs, containers and apps run from fast flash. Mirrored, so one drive can fail without losing anything.
Media pool
7× WD Red Pro 20 TB, RAIDZ2 to startWhere the movies and TV live. NAS-grade drives made to run all day, added in batches as the library grows.
UPS
CyberPower 1500 VARides through short outages and gives time to shut down cleanly in a long one, so no write is ever lost halfway.

Why it's built this way

A server that runs 24/7 at home has three jobs: keep the data safe, grow without a rebuild, and stay quiet enough to live with. Every choice comes back to one of those.

  • Two drives can fail, and nothing is lostThe media pool uses RAIDZ2: two drives' worth of space holds parity, so any two can die at the same time and the pool keeps running while they're replaced. That costs raw capacity, but on drives this big a rebuild takes days, and a second failure during a rebuild is the real risk. Peace of mind over extra terabytes.
  • Grows in stages, never starts overThe case, controller and power supply are sized for the full drive count from day one. Drives get added in batches as the library grows, instead of paying for empty space up front or migrating everything to a new box later.
  • Fast storage and big storage, kept apartVMs, containers and apps live on mirrored NVMe, so they stay quick no matter what the hard drives are doing. The hard drives only hold movies and TV, which need space, not speed.
  • Safety net, not a full backupEverything on the media pool can be replaced, so RAIDZ2 is its protection. Backing up that many terabytes would double the cost of the storage for files that aren't irreplaceable.
  • The data stays correctZFS checks every block it reads and repairs silent corruption from the redundant copy. ECC memory closes the last gap by catching errors in RAM before they're written to disk. 64 GB to start while memory prices are high, with slots free to add more.
  • Quiet, cool and boringA sound-dampened case, a Noctua air cooler with no pump to fail, and a battery backup for outages. The goal is a server you forget is there.

Network

The plumbing that ties it together.

Fibre

Planned: 3 Gbps

A multi-gig fibre connection, so remote access and uploads aren't the bottleneck.

UniFi

Cloud Gateway Fiber

Ubiquiti for routing and firewall, chosen over a DIY pfSense box for easier day-to-day management.

Off-site

Dedicated server

A rented dedicated server runs Proxmox for work projects, kept separate from home and all behind Cloudflare.