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.
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.