meta data for this page
  •  

This is an old revision of the document!


Zigbee2MQTT in LXC

Z2M in Proxmox's LXC

Installation hints: Linux

CT configuration

  • unprivileged
  • keyctl, nesting
  • additional permissions to access USB dongle:
lxc.cgroup2.devices.allow: a
lxc.cap.drop:
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
lxc.mount.entry: /dev/ttyACM0       dev/ttyACM0       none bind,optional,create=file

TOOD:
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
lxc.mount.entry: /dev/ttyACM0       dev/ttyACM0       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.