1. DIY HOME SERVER - Introduction
Back in 2016 I had to install some security cameras around the house. Instead of using a dedicated NVR (Network Video Recorder), I wanted something more versatile. I ended up bying a brand new QNAP TS-453 NAS (Network Attached Storage). I equipped its 4 hot-swappable bays with three 3 harddisks in RAID 5 configuration for storing my families personal data and 1 drive for recording the camera footage. This NAS came with the QNAP QTS operating system including a 4 camera license for using Surveillance Station to manage and monitor the IP cameras I had installed.
This QNAP NAS served me well in doing the two tasks I had thrown at it, being storing my data and managing my cameras. It uses an INTEL Celeron CPU N3160 @ 1.60 GHz and is equiped with 8 GB RAM. It’s silent and power efficient (30 Watts idle with 2 HDD). The OS offers a few Apps to let you virtualize stuff. I used the App Container Station to setup an LXC (Linux Container) containing Ubuntu 18.04 and Pi-hole. By defining this virtual Pi-hole container as my primary DNS (Domain Name Server), I was able to block ads for all users inside my private home network.
The QNAP NAS is well suited to store my data, manage my camera recordings and serve the virtualized Pi-hole at the same time. It is even capable of streaming videos and running a Plex media server. But virtualising more demanding VM (Virtual Machine) on this NAS is not recommented due to CPU and memory limitations.
So I decided to build myself a more powerful homelab server which would allow me to accomplish more demanding tasks and would let me use any software I want. This blog lets you accompany me on my journey to reach that goal.
2. DIY HOME SERVER - Requirements
- Run Proxmox OS on bare-metal
- Run TrueNAS VM with the required HBA (Host Bus Adapter) passed through
- 4 to 6 lightweight VMs for various home server duties including :
- Plex on Linux with GPU (Graphics Processing Unit) pass-through
- Test Blue Iris on a Windows VM versus ZoneMinder in a Docker image versus Shinobi CCTV in a LXC container for IP surveillance camera management
- Some TBD container OS
- IPMI (Intelligent Platform Management Interface) for remote server management and server access even when the server is turned off
- At least 3 NICs :
- one for IPMI
- one for normal LAN connections
- one for connections to a dedicated IoT VLAN
- Relatively low idle power consumption, but more than enough horsepower to handle the planned workloads
- At least 3 to 5 years service
- Mounted in a 19 inch short depth rack
- Reliable hardware using a mix of new and used parts to keep the project budget friendly
- As quiet as possible