The first thing you need when going down the rabbit hole of setting a smart home with all the bells and whistles is a server to safely hold all of your data and a way to share that data. A server can be any computer that can serve up one or more applications, it could be a Raspberry PI to run Home Assistant or and enterprise server with lots of processing power, memory, storage and connectivity. If you are only running one application then the Raspberry PI would do but if like me you want to run many resource hungry applications like Plex and Zoneminder with facial and object recognition then a server in the traditional sense is needed.
There are may things to consider when deciding what type of server to use, do I build one or buy a used enterprise server, what type of processor and how many memory slots does the mother board have, how easy is it to upgrade the processor if I need more cores down the road, how much power does it use and how noisy is it. There seems to be endless things to consider and that’s because there is, and one thing I’ve learnt is that there is no one perfect server that will tick every box so it’s all about compromise.
I have used IBM, Dell, HP and home built servers in both rack and tower configurations. I can tell you steer clear of HP servers, they are noisy don’t support non HP branded gear and you can’t get firmware updates without a service contract, not even for home use, they are a prick of a company. IBM made great servers but IBM’s server division was sold to Lenovo, which I’ve never used. In my opinion Dell is the best server vendor to go with, they do not restrict you from downloading updates, the server won’t complain or fail to boot because you put a non Dell expansion card in the server. They are well built and have one of if not the best out of band management systems, the iDRAC. Dell servers also come in many configurations more than any other brand. Lastly it’s my opinion that you will never build anything as good as a used enterprise server for the same cost.
Dell T320 TrueNAS Core Storage Server
The T320 is a single socket platform supporting Intel E5-2400 V1 and V2 series processors and DDR 3 RAM. I have chosen to put the most powerful processor in the server that it supports, the E5-2470 v2 @ 2.40GHz that’s 10 cores and 20 threads. The server only has 6 memory slots that are capable of taking up to 32GB DDR 3 sticks, due to cost I went with 6 x 16GB sticks of ram for a total of 96GB, which gives me lots of memory for the ZFS ARC. The model of T320 that I have has 8 3.5′ hard disk bays which I used to hold the drives for TrueNAS Core, more on that in another blog. The server also has dual hot swap-able power supplies which is a bonus for an always on server.
Dell R720 XCP-ng Hypervisor
The R720 is a great virtualization server. I’ll be running the XPC-ng virtualization platform which is based on the Xen Project. I will also be using Xen Orchestra built from sources to managed the XCP-ng servers and unlike VMware you do not need separate software to do backups it’s all built in to Xen Orchestra. I’ll share more on this in a future post.
One of the most important considerations is power use because your server will be on 24/7 and the cost can add up quickly.