meta data for this page

Zigbee2MQTT in LXC

Z2M in Proxmox's LXC

Installation hints: Linux

3rd party Proxmox installer scripts:

  1. bash -c "$(wget -qLO - https://github.com/tteck/Proxmox/raw/main/ct/zigbee2mqtt.sh)"

CT configuration

  • unprivileged
  • keyctl, nesting
  • additional permissions to access USB dongle:
lxc.cgroup2.devices.allow: c 188:* rwm
lxc.mount.entry: /dev/serial/by-id  dev/serial/by-id  none bind,optional,create=dir
lxc.mount.entry: /dev/ttyUSB0       dev/ttyUSB0       none bind,optional,create=file
  • unprivileged container has mapped own UID to host uids 100000 and higher. So dialout GID=20 in LXC is visible for host as 100020. It is need to give correct permissions to device node:
    chown 100000:100020 /dev/ttyUSB0

Guest system

Zigbee2MQTT requres:

# Verify that the correct nodejs and npm (automatically installed with nodejs)
# version has been installed
node --version  # Should output v14.X, V16.x, V17.x or V18.X
npm --version  # Should output 6.X, 7.X or 8.X

So best is to start with Debian 12 bookworm system.

HA

Get MQTT user and password from MQTT settings or create new HA user which also will became MQTT user.

Enable MQTT Discovery