In my last post I wrote about why I was replacing my Deco mesh with enterprise gear. A friend was offloading equipment and I was getting a Dell R330, four Cisco Aironet 1702i access points, and a PoE switch. Total out-of-pocket cost at that point: zero.

That was the plan. This is the update.

My friend was running seven servers: three R330s, two R710s, and two R610s. He decided to downsize and decommission most of it. I ended up with one R330 and one R610. Another friend got an R710. The rest he kept or scrapped. I wasn’t expecting the R610, it wasn’t part of the original conversation, but he threw it in and it changes what I can build.

Both servers are in the house. The APs are in the house. I bought six 1.2TB 10K SAS drives off eBay for $90 and a Cisco ceiling mount bracket for $8. I registered a domain for $12.20. The drives are on their way.

Total spent so far: $134.

This post covers what I’m building and in what order.


What I ended up with

Dell R330 (2017): Xeon E3-1230 v5, 32GB ECC DDR4, iDRAC8 Enterprise. Nine years old and more than enough for routing, DNS, and a handful of lightweight containers. iDRAC8 Enterprise gives me full remote management including KVM over IP.

Dell R610 (2010): Dual Xeon X5560, 48GB DDR3, six SFF drive bays, iDRAC8 Enterprise. Fifteen years old. For running LXCs, a TrueNAS VM, and NFS file serving, it has more compute than I’ll ever need.

Four Cisco AIR-CAP1702i APs: WiFi 5, dual-band, 3x3 MIMO, 802.3af PoE. These ship in lightweight mode expecting a Cisco controller. Flashing autonomous firmware removes that dependency.

Netgear GS108PEv3: 8-port managed switch, 55W PoE budget. Three APs run directly off the switch. The fourth goes upstairs powered by a TP-Link POE150S injector on a non-PoE port, which keeps it off the switch’s power budget entirely.

The six 1.2TB drives are on their way. They came out of Cisco UCS servers, DoD wiped, pulled from a data center. I’ll run SMART checks when they arrive before trusting them with anything.


How the two servers split up

The R330 handles routing and core infrastructure. It runs Proxmox with OPNsense as a VM plus a handful of lightweight LXC containers: AdGuard Home for DNS filtering, Unbound for recursive DNS, and Caddy as a reverse proxy.

The R610 handles storage and everything else. It runs Proxmox with one drive dedicated to the Proxmox OS and VM root disks. The remaining five drives get passed through directly to a TrueNAS VM as a RAIDZ2 storage pool, which gives about 3.6TB usable with two-drive fault tolerance. All the service LXCs (Home Assistant, n8n, Immich, Nextcloud, Paperless) run on the R610 and pull their data from TrueNAS over NFS.

Proxmox Backup Server runs as a VM on the R610 boot drive. Its backup repository lives on a dedicated TrueNAS dataset, so backups land on the RAIDZ2 pool. The Proxmox host config itself gets copied to TrueNAS on a cron job so rebuilding from scratch is fast if the boot drive ever dies.


Network

Three APs cover the house with 802.11r fast roaming on a shared SSID. The fourth is going upstairs, powered by a TP-Link POE150S injector rather than the switch directly.

OPNsense handles routing with three VLANs: main, IoT, and guest. ProtonVPN connects via WireGuard. Tailscale handles remote access.

The Deco stays up until OPNsense is confirmed working.


Build sequence

The R330 goes first. Nothing else can be configured until OPNsense is running.

Week 1: Flash Proxmox to USB, run SMART checks on the R330 drives, get Proxmox installed. OPNsense VM up and handling routing, then AdGuard, Unbound, and Caddy.

Week 1-2: Flash autonomous firmware on the Cisco APs, configure SSID and 802.11r. Once confirmed working the Deco comes down.

Week 2-3: Install drives in the R610, get Proxmox and TrueNAS running, configure NFS shares and Backblaze B2 backup.

Week 3-4: Home Assistant, n8n, Immich, Nextcloud, Paperless.

Week 5+: Monitoring stack, development VM, Ansible to automate provisioning.


The next post covers installing Proxmox on the R330 and getting OPNsense running.