This is an old revision of the document!
Hardware
Home Network Infrastructure
…
Home Server Hardware
Your home server should be beefy enough to host and support all your services. Once you figure that out, the added overhead to manage the NAT, the tunnels and the reverse-proxy will be negligible.
You might want to split your services on more than one device, but there are some considerations to it:
- More servers might mean higher energy consumption
- More servers means higher probability of one going down
- More hardware means higher rate of hardware failures
On the other hand, more servers means that not all of your services might go down at the same time.
In general, you want something low-power and you might want something battery-protected to prevent strain on hard drives due to loss of power. You might also want something not too loud unless you plan to place everything in a secluded place (but watch out for heat buildup!)
My choice is an oldish powerful workstation-type laptop:
- it has one wired Ethernet NIC, for the internal network
- it has keyboard and monitor, for those local access needs, without requiring a dedicated monitor wasting space
- doesn't reboot when there is a power loss at home
- It is less power-hungry and less noisy than a tower pc
Some drawbacks are that:
- I had to add USB-C based ethernet NICs to connect to my two ISPs
- It has limited internal storage capability (only one NVME SSD and one SDD 3.5“ slot)
For this reason, i added a RAID JBOD solution connected via USB-3 with a conspicuously sized SSDs RAID array, and i plugged it to a cheapo low-wattage battery backup to keep the RAID array running in case of power-loss. The use of SSDs means low noise and low power consumption, great to be protected by a small home UPS, even if it's more expensive than using good old mechanical HDDs.
The use of USB-3 JBOD does not create issues with disk transfer rates as all the data usage required by the server is basically video streaming, that even in 4K is still way below the USB throughput, and in any case even direct file transfer happens mostly via WiFi, again well below the USB throughput. One note, tough, purchase an expensive USB JBOD, do not go with cheapo USB enclosures ad they are not designed to run 24/7 and your SSDs will drop at some point.
The same applies to USB NICs. Don't go cheap, and you might have to try out a few before you find a really good and stable one. Of course USB-C is better than USB-3, both speed wise and stability wise, but the number of USB-C ports is usually limited, and you definitely want to spread out your devices on as many USB controllers as possible, so using both is a good idea.
One last note on UPS. You definitely want one. The risk of an unintended power-loss could be too much to risk. Using a laptop and a small UPS to keep your SSDs running is usually enough. Unless your power grid is highly unstable, power-losses are usually a brief moment of a few minutes at best.
The remote server can be a virtual server or a physical one, doesn't matter, it will run nothing except tunnels back to the internal server.