Skip to content

Environment

Joerg Heinemann edited this page Sep 28, 2024 · 2 revisions

For a home environment a strong proposal is KISS (Keep it simple, stupid!), unless you REALLY know what you are doing.
Why overly complicated configuration for a HomeLab?

Network

Any device connected to the network shall receive a static DHCP address and inherit all other network and DNS settings from the DHCP server fully automatically.

Consider rebooting the following devices in order:

  • ISP router/firewall
  • Ethernet switch(es)
  • WiFi access point(s) or router
  • Thread Border Routers (e.g., Apple TVs, HomePods)
  • Smart Home Controllers (e.g., Home Assistant, Hubitat, SmartThings, etc.)

DHCP and DNS

  • Use static IP addresses by the usage of static DHCP for both:
    • IPv4 (auto)
    • IPv6 (auto)
  • Use DNS names (FQDNs) instead of IP addresses in any config element if possible.

Highly recommended:

  • Static DHCP (DHCP Reservation) is where you can specify the MAC address of any system in DHCP server so that the device (e.g. APs, Swiches, Servers, Printers, Clients, IoT, ...) with stated MAC address will always get the same configured IP address from DHCP server because MAC address is bound with IP Address in DHCP server.
  • The usage of DNS names maintained by the DHCP server will also simplify your life.
    This way you will always know any used IP address including their host names with no need for manual documentation.

LAN

  • A cable based network (with at least CAT5e) and with at least 1 Gbps ethernet switches,
  • for all devices on which LAN ports are reachable.

Note:

WiFi 5 / WiFi 6 / WiFi 7

  • A stable WLAN mesh with at least WiFi 5 for IoT devices which can't connect via LAN ports.
    • Use multiple Access Points (APs) from the same vendor that are designed to work together as a mesh.
  • Use one SSID for both 2.4 GHz and 5 GHz bands.
  • Use at least WPA2 authentication.
  • Use a Gigabit Ethernet wired-back haul between APs.
  • Mastering Home WiFi: A Guide to Predictive RF Planning

Topology - IPv6 mDNS

  • Ensure all of your IoT devices and all smart hubs/controllers, like Home Assistant (HA), are on the same VLAN (broadcast domain).
    • Matter relies on IPv6 multicast DNS (mDNS) to advertise services.
      If multicast is somehow broken on your network, you will likely have BIG random Matter headaches.
      • Ensure your network gear doesn’t have broken IPv6 multicast, IGMP and MLD support.
  • Do not isolate with firewalls (Keep it simple, stupid!).

Matter and Thread

For a detailed guidances about Matter and Thread, check out Derek Seaman's Tech Blog:

Mini PC server

If you’re thinking long-term and want a device that’s both compact and powerful, a Mini PC might be your pick.

Here’s a quick rundown:

  • Versatility: Mini PCs offers a range of configurations, from energy-efficient quad-core models to 8C/16T powerhouses. This means you can pick one that fits your needs and budget.

    • More powerful hardware will result in faster performance. If you plan on running several Home Assistant (HA) integrations and add-ons (e.g. EMHASS, ...) , you’ll benefit from a machine that can handle the load without lagging.
    • Your HA will likely grow, so choose hardware that can accommodate future expansions.
    • Tech evolves rapidly. Investing in hardware that exceeds the minimum requirements ensures your system can handle future updates and new features.
  • Expandability: Unlike the Raspberry Pi and Odroid-N2, Mini PCs allows for upgrades. Whether it’s RAM or storage, you can expand as your HA setup grows.

    • More RAM means your system can handle more tasks simultaneously. This is particularly useful if you’re planning to run data-intensive HA add-ons (e.g. databases, media servers, EMHASS, ...).
  • Connectivity: With multiple USB ports, HDMI outputs and GigaBit Ethernet, WiFi and Bluetooth, Mini PCs ensures you’re always connected.

Notes:

  • A Raspberry Pi 5 with a maximum of 8GB RAM, case, power supply and external SSD storage is more expensive, but much less performant.
  • I've moved from a Raspberry Pi 4b with 8 GB RAM and external SSD boot for good reasons.
  • SD cards in general are not reliable and they are just asking for trouble.
    Use a SSD or NVMe drive! Your poor SD card WILL die at some point.

Bare metal

If you are new to Home Assistant (HA), not super nerdy, and just want a super reliable and easy to use appliance, then don’t go the PROXMOX VE route.
Just grab a cheap mini/ultra-mini PC and run Home Assistant OS (HAOS) on it bare metal and be done with it.

Model Specification DDR4 SSD Price
09/2024
Beelink Mini S12 Pro Intel 12th Gen N100
4C/4T up to 3.4GHz
16GB
Single Channel
500GB 190€
Upgradeable to 32GB-DDR4-3200
 
 
 
1 x 2TB M.2 2280 PCIe x1 SSD
1 x 2TB 2.5-inch SATA III HDD/SSD

image

image

image

PROXMOX VE powerhouse

But if you know you want HAOS as a Virtual Machine (VM), potentially do Linux containers (LXC) down the road, PROXMOX VE is a great (and free) option. Even though HA can do backups, being able to do a whole HAOS VM snapshot at the hypervisor level can be great for roll-back from failed upgrades or “oh crap” mistakes.

The HAOS installation under Proxmox VE is properly documented and fully automated by the usage of the awesome tteck Proxmox VE Helper-Scripts.

These Proxmox VE Helper-Scripts empower users to create a Linux container or virtual machine interactively, providing choices for both simple and advanced configurations. The basic setup adheres to default settings, while the advanced setup gives users the ability to customize these defaults.

Derek Seaman's Tech Blog provide the most complete and easy installation procedure for both: PROXMOX VE and HAOS

PROXMOX VE System Requirements and Storage Recommendations:

  • CPU: Intel EMT64 or AMD64.
  • Intel VT/AMD-V capable CPU/Mainboard flag (for KVM full virtualization support).
  • Memory, minimum 2 GB RAM for OS and Proxmox VE services. Plus designated memory for guests.
    • With only 16 GB RAM you will reach your limits quickly.
    • By thinking long term at least 32 GB RAM, better 64 GB RAM will protect your invest.
  • Fast internal storage, best results with M.2 PCIe Gen4 NVMe and SATA SSD disks.
    • OS and VM storage:
      • Dedicated and single NVMe SSD disk (M.2 PCIe Gen4, up to 5000MB/s) with at least 1 TB, 2 TB will protect your invest.
      • Use the EXT4 (default) filesystem with LVM-thin (also default).
    • Backup storage:
      • Dedicated SATA SSD disk with at least 1 TB, 2 TB will protect your invest.
      • Network Attached Storage (NAS) is also possible.
      • Use PROXMOXs built-in backup to do nightly backups of all VMs and LXCs.
  • Gbit NIC
    • Additional NICs depending on the preferred storage technology and cluster setup.
    • 10 Gbit and higher is also supported.
  • For PCI(e) and USB passthrough a CPU with VT-d/AMD-d CPU flag is needed.
    • WiFi passthrough to HAOS VM is supported.
    • Homematic IP RF-USB-Stick passthrough to RaspberryMatic VM is supported.

Notes:

  • After setting up PROXMOX VE and deploying your HA VM, you'll never want to open your Mini PC case again.
  • Especially not touching the internal NVMe SSD where all VM disks and Container volumes are stored.
  • Do the needful before starting your PROXMOX VE journey!

Model Specification DDR4 SSD Use Price
09/2024
Beelink SER5 MAX Mini PC AMD Ryzen 7 5800H
8C/16T up to 4.4GHz
16GB 1TB 21%
 
380€
Crucial RAM CT2K32G4SFD832A (2x32GB)
Laptop RAM Kit
DDR4 3200MHz CL22
2933MHz or 2666MHz
64GB 120€
Crucial P3 Plus 2TB
CT2000P3PSSD801
M.2 PCIe Gen4 NVMe
Up to 5000MB/s
2TB
internal NVMe
120€
Crucial BX500 SATA SSD 2TB
CT2000BX500SSD101
2.5 Inch SATA SSD
Up to 540MB/s
2TB
internal SATA
125€
ORICO M.2 NVMe SSD Enclosure
for NVMe M-Key/M+B Key SSD 2230/2242/2260/2280
Upgraded M2 SSD Enclosure Made of Aluminium
USB-C PCIe Adapter
10 Gbps USB3.2 Gen2
25€
Total RAM
local-lvm
/dev/nvme0n1
/backup
/dev/sda
???
/dev/sdb
64GB
 
 
 
 
 
 
 
2TB
internal NVMe
2TB
internal SATA
1TB
external SSD
52%
11%
 
44%
 
???
 
770€

image

image

image

image

image

Cheaper alternatives

Mini-PCs that support PROXMOX VE and can run a variety of workloads without breaking a sweat.
All are power efficient.

Notes:

  • Beelink's entry level model with the Intel 12th Gen N100 CPU is fine for Proxmox, HAOS VM, Plex Server LXC and a couple of more LXCs.
  • If you really want a solid HomeLab that can be pushed even harder, the SER5 MAX models with the AMD Ryzen 7 5800H CPU offers a substantial upgrade in all areas.
  • Consider to upgrade at least with an internal 2.5 Inch SATA SSD as dedicated backup storage and much RAM as possible.

Model Specification DDR4 SSD Price
09/2024
Beelink Mini S12 Pro Intel 12th Gen N100
4C/4T up to 3.4GHz
16GB
Single Channel
500GB 190€
Upgradeable to 32GB-DDR4-3200   55€
Total RAM
local-lvm
/dev/nvme0n1
32GB
 
 
 
500GB
internal NVMe
245€
Beelink Mini S12 Pro Intel 12th Gen N100
4C/4T up to 3.4GHz
16GB
Single Channel
500GB 190€
Upgradeable to 32GB-DDR4-3200
 
 
1 x 1TB M.2 2280 PCIe x1 SSD
55€
70€
Total RAM
local-lvm
/dev/nvme0n1
32GB
 
 
 
1TB
internal NVMe
315€
Beelink Mini S12 Pro Intel 12th Gen N100
4C/4T up to 3.4GHz
16GB
Single Channel
500GB 190€
Upgradeable to 32GB-DDR4-3200
 
 
 
1 x 2TB M.2 2280 PCIe x1 SSD
1 x 2TB 2.5-inch SATA III HDD/SSD
55€
120€
125€
ORICO M.2 NVMe SSD Enclosure
for NVMe M-Key/M+B Key SSD 2230/2242/2260/2280
Upgraded M2 SSD Enclosure Made of Aluminium
USB-C PCIe Adapter
10 Gbps USB3.2 Gen2
25€
Total RAM
local-lvm
/dev/nvme0n1
/backup
/dev/sda
???
/dev/sdb
32GB
 
 
 
 
 
 
 
2TB
internal NVMe
2TB
internal SATA
500GB
external SSD
515€
Beelink SER5 MAX Mini PC AMD Ryzen 7 5800H
8C/16T up tp 4.4 GHz
16GB 500GB 320€
Beelink SER5 MAX Mini PC AMD Ryzen 7 5800H
8C/16T up to 4,4 GHz
32GB 1TB 400€

Home Assistant OS

For the most turnkey solution you want Home Assistant OS (HAOS) on bare metal or as a VM on PROXMOX VE:

  • Easiest method
  • Full HA experience
  • OS is fully managed
  • Many pre-built install images

Highly recommended:

  • Use static IP addresses by the usage of static DHCP for both:
    • IPv4 (auto)
    • IPv6 (auto)

Note:

For much more detailed guidance about Setup, Backups and Restores, check out Derek Seaman's Tech Blog: