In Proxmox, I’ve found that running most home automation servers that support a docker based configuration, such as Zigbee2MQTT, Home Assistant and Mosquitto MQTT, run fine within a Ubuntu or Debian VM and docker within that VM.
I have found any performance gain from running them in LXC’s, and really seems small, has not been offset by the more complex and limiting configurations that LXC have vs. running a VM in Proxmox.
I’m sure, most of that is my lack of experience with LXC’s. However, that said, I find much more information about running home automation components (and many others) using Docker vs. LXC.
Alpine is a fine distro and is small, however, I have found that running some larger OTS systems are harder to get running them under the more ‘main stream’ distros for a VM such as Ubuntu and Debian. I am starting to use Debian 12 Bookworm for my Docker hosts and if you disable the starting of the GUI, Debian 12 core takes under 512 MB. Again, I am sure with a leaner distro you can do even better, but I’ve not found any need on my Proxmox hardware to have to get that tight. I think your Beelink will probably support 64 GB RAM and for under USD 150, a good investment.
As the ‘docker stats’ shows below, the core home automations systems, Home Assistant, MQTT and Zigbee2MQTT are using less than 1 GB of ram.
Also, after starting with Ubuntu, I have found Debian to be as stable of not more and requiring less updates and restarts of it as a VM. Probably, why Proxmox uses it as the base OS for Proxmox. As, they say, Debian is ‘boring’, and that is what you want for your VM and LXC servers.
And two more, bit more opinionated, points:
-
If you are comfortable with Proxmox, VM’s and Docker, I struggle to find the value of running Home Assistant as HAOS vs. running Home Assistant in a Docker container in a Debian VM. Why have your Zigbee and MQTT subsystems shutdown just because you need to reboot Home Assistant? Maybe there are a couple HA integrations that only run in HAOS’s own docker system with it. Well if that is the case then do run HAOS as a VM under Proxmox, but run most of your systems outside of HAOS in their own Docker containers. Far fewer dependency problems going this way when you are restarting Home Assistant, which if far far the most restarted and updated system I have.
-
While there are some really good Proxmox bash script writers out there, I have found them to be a rather ‘black box’ installs. If I am not able to do and understand the manual steps to stand up something with Proxmox, I am less comfortable with the long term operation of the sub-system. Off soapbox.
Good hunting!
CONTAINER ID NAME CPU % MEM USAGE / LIMIT MEM % NET I/O BLOCK I/O PIDS
ccec36e8baf7 production-zigbee2mqtt-1.35.1 0.51% 78.38MiB / 3.82GiB 2.00% 0B / 0B 30.4MB / 439MB 12
dfe4e1ee2c52 test-zigbee2mqtt--1.35.1 0.00% 72.84MiB / 3.82GiB 1.86% 0B / 0B 43.2MB / 87.9MB 12
d04a1ed53513 home-assistant-2024.1.5 12.25% 635.1MiB / 3.82GiB 16.24% 0B / 0B 49.9MB / 1.68GB 59
7cbec9279f74 mosquitto-2 0.16% 4.586MiB / 3.82GiB 0.12% 3.57GB / 3.63GB 5.12MB / 333MB 1