Back to Portfolio

Home Lab

Description

Read the full write-up, with the network diagram, rack photos, and tour of the topology.

This is the network I run at home, built for security, for hosting my own services, and because I enjoy it. Four NAS servers totaling 92.6TB in RAID 5 give me a personal cloud for photo sync, backups, and media streaming without a monthly bill, and Nextcloud on top of them keeps my calendar, photos, files, and notes in sync across every device.

Traffic is split into VLANs on a Ubiquiti Dream Machine Pro so IoT gear, cameras, web servers, and people each live on their own segment. Everything runs hub and spoke into a 48 port PoE layer 2 switch, with fiber to the NAS boxes and a fiber run to my office that gives my desktop a 10Gbps link. DNS and DHCP are BIND and ISC DHCP on a dedicated Ubuntu server, which is what lets me write my own management tools on top of them. A Caddy reverse proxy fronts every web service, and a couple of dedicated boxes run Ethereum validators under Rocket Pool.

The lab also hosts the websites I build and run, including Perfect Home Strategies and the development side of Zepey, plus this site. An AI server with an RTX 5090 runs local language models that power the AI features in those apps, answer the chat assistant on this page, and handle every voice command in the house, so nothing I say or type leaves the building.

Home Assistant ties the house together: cameras, alarm, lights, thermostat, and Zigbee sensors. Frigate handles the security cameras, using a Coral TPU to spot people and cars so I only get alerts that matter. For voice I took Echo Shows, unlocked them, and flashed them with LineageOS so they run as Home Assistant satellites. The wake word is Jarvis, the same as Iron Man, and when I say it the request goes to my own AI server and comes back as an action in the house.

Monitoring is Beszel, Loki, and Grafana for metrics and logs, and Fleet with osquery for inventory. It all lives in a NavePoint 18U rack plus a second 9U rack I added when the first one filled up. The lesson there was simple: go bigger than you think you need.