New Jan 19, 2026

Winter 2026: Self-Hosted… Success!

More Front-end Bloggers All from dbushell.com (blog) View Winter 2026: Self-Hosted… Success! on dbushell.com

Last week my router almost died!

Disaster was averted but it dawned on me how fragile my home network was. I have all manner of VLANs and firewall rules so I can’t just plug in my ISP-provided router.

With no redundancy in place a real disaster would mean panic buying an expensive replacement, waiting days for delivery, and then painfully recreating an identical setup with only cellular data to troubleshoot. To avoid such a dreadful timeline I devised a failover plan.

I found my solution in the post box Sunday morning.

2 port PCIe network card sitting atop the freshly opened box

The plan is to duplicate my router virtual machine from my Beelink EQ12 to my Mini-ITX server. For that I need more ports. For more ports I bought the NIC above.

Network Card

I found a cheap £28 NIC with big heatsinks on AliExpress which arrived impossibly quick. My server motherboard has a riser cable for the only PCIe 3.0 x4 available. Not impressive but fast enough for gigabit networking.

The two new ports appear as separate PCI devices in their own IOMMU groups. The onboard port remains active and alone. This is good!

OPNsense VMs

I run the forbidden virtualised router (YouTube inspiration). That is to say OPNsense inside Proxmox. I run Proxmox on both the EQ12 and Mini-ITX hardware. For this plan to work I need to mirror the router VM from the EQ12 to the server.

First I tried creating a brand new VM. The only difference being I assigned both new PCI network devices directly instead of using virtual bridges. I downloaded the latest OPNsense ISO and started installation. At this point I realised I had no idea (and no notes) on how to setup OPNsense. I’ve done that only once, many moons ago.

Proxmox PCI devices
New configuration with physical devices

New idea: backup the existing VM to my NAS and restore it on the server, effectively cloning the entire thing. I took a live snapshot because YOLO. Also if I shutdown the VM I can’t access Proxmox to initiate the backup, because Proxmox gets network access via a virtual bridge. I did try to hook up an external monitor but something is broken from previous adventures. Meaning I’m completely blind without SSH.

Proxmox virtual network devices
Original configuration with virtual network devices

After restoring the VM snapshot on the server I logged in to the new VM to reassign interfaces because OPNsense was looking for the old virtual interfaces. This is literally option 1 in the welcome message. Finally, I swapped the physical WAN & LAN cables from the EQ12 to the new NIC — guessing the order correctly first try (not to brag.)

OPNsense CLI options listed 0–6
OK it’s technically option 2.

Success!

I was shocked to find this worked flawlessly. I ran basic tests to ensure I was getting gigabit speeds. It seemed stable. My home network was running on a cloned VM on different hardware. All for the cost of a £28 upgrade.

If my Beelink EQ12 dies for real in future all I need to do is swap ethernet cables to my server. It’s a manual failover but still a pretty good solution I think. It means I’m not stuck with a degraded LAN and I have time to plan a replacement.

I have automated backups in case I need a fresh clone. Both Proxmox and OPNsense have high-availability but I have no desire to investigate how that works. I will keep the cloned VM shutdown until it’s called into action.

A virtualised router has downsides but this setup served me well until the fan failure. A bare metal install wouldn’t have saved me.


Thanks for reading! Follow me on Mastodon and Bluesky. Subscribe to my Blog and Notes or Combined feeds.

Scroll to top