--- title: Installation Guide --- ## How-To Here's an example of a default installation of zigbee2mqtt. Pay particular attention to the section "Configure Mount USB Devices" to configure the USB adapter to your container as those two paths should match. ### Deployment Configuration Set `ZIGBEE2MQTT_CONFIG_MQTT_USER`, `ZIGBEE2MQTT_CONFIG_MQTT_PASSWORD` if necessary, as this will override the specific value of config file. Leave empty if you plan to use custom config or you don't have set a user on your MQTT broker. For `MQTT Server` Internal DNS Cluster IP can be used (default) of `mqtt://mosquitto.mosquitto.svc.cluster.local` or you can use the external IP. ```yaml workload: main: podSpec: containers: main: env: USE_CUSTOM_CONFIG_FILE: false # This values are required for the autogenerated file to work. # ZIGBEE2MQTT_CONFIG_PERMIT_JOIN: false ZIGBEE2MQTT_CONFIG_MQTT_SERVER: "mqtt://mosquitto.mosquitto.svc.cluster.local" ZIGBEE2MQTT_CONFIG_MQTT_BASE_TOPIC: "zigbee2mqtt" ZIGBEE2MQTT_CONFIG_SERIAL_PORT: "/dev/ttyUSB0" ZIGBEE2MQTT_CONFIG_SERIAL_ADAPTER: "auto" ZIGBEE2MQTT_CONFIG_MQTT_USER: "mqtt_user" ZIGBEE2MQTT_CONFIG_MQTT_PASSWORD: "secretpassword" ``` ### Mount USB Devices - Passthrough your USB device to your cluster node. - Add a persistence configuration for your USB device - Best practice is to do by ID as per below, in this example we use `/dev/serial/by-id/usb-ithead_SONOFF` ```yaml persistence: zigbee: enabled: true type: device hostPath: /dev/serial/by-id/usb-ithead_SONOFF ```