From 4bcb3c2501be6154ea8e25cfb9e191ac43644206 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?M=C3=A1rcio=20Fernandes?= Date: Thu, 29 Aug 2024 23:35:33 +0100 Subject: [PATCH] zigbee2mqtt documentation and reverse proxy --- README.md | 29 +++++++++++++++++-- .../docker/nginx.conf.d/zigbee2mqtt.lan.conf | 22 ++++++++++++++ services/zigbee2mqtt/docker-compose.yaml | 10 ++++++- 3 files changed, 57 insertions(+), 4 deletions(-) create mode 100644 services/nginx/docker/nginx.conf.d/zigbee2mqtt.lan.conf diff --git a/README.md b/README.md index 125c976..3bf319d 100644 --- a/README.md +++ b/README.md @@ -29,8 +29,9 @@ Using [code-server docker container](#code-server) for Development / Maintenance - [Mosquitto](#mosquitto) - [Wyoming](#wyoming) - [Zigbee2mqtt](#zigbee2mqtt) + - [Docker devices](#docker-devices) - [Host](#host) - - [OS](#os) + - [proxmox - lxc container](#proxmox---lxc-container) - [Packages and Requirements](#packages-and-requirements) - [Users \& Groups](#users--groups) - [fstab](#fstab) @@ -180,6 +181,28 @@ For more information about home assistant integration [check home assistant repo Currently using portainer stack (name: zigbee2mqtt) with git reference to this repo. [Docker compose](./services/zigbee2mqtt/docker-compose.yaml) +SONOFF Universal Zigbee 3.0 USB Dongle Plus attached on [proxmox host](#host). + +Patch security on [proxmox host](#host). +(usb passthrough to [lxc container](#proxmox---lxc-container)) + +``` yaml +#on proxmox hosting server +chown 100000:100020 /dev/ttyUSB0 +chown 100000:100020 /dev/serial/by-id/usb-ITead_Sonoff_Zigbee_3.0_USB_Dongle_Plus_c0e8eeb4b38ded118e7c06f6b86ce6f8-if00-port0 +``` + +#### Docker devices + +``` yaml +.... + devices: + # Make sure this matched your adapter location + - /dev/ttyUSB0:/dev/ttyUSB0 +.... + +``` + Gitea [Continuous deploy action](./.gitea/workflows/services.zigbee2mqtt.yml). Links: @@ -188,10 +211,10 @@ Links: ## Host -### OS - Currently hosted on a proxmox ubuntu container. +### proxmox - lxc container + ```bash # cat /etc/pve/lxc/105.conf arch: amd64 diff --git a/services/nginx/docker/nginx.conf.d/zigbee2mqtt.lan.conf b/services/nginx/docker/nginx.conf.d/zigbee2mqtt.lan.conf new file mode 100644 index 0000000..ec28477 --- /dev/null +++ b/services/nginx/docker/nginx.conf.d/zigbee2mqtt.lan.conf @@ -0,0 +1,22 @@ +server { + listen 80; + proxy_buffering off; + server_name zigbee2mqtt.lan; + + location / { + proxy_pass http://zigbee2mqtt:8080/; + proxy_set_header Host $http_host; + proxy_set_header X-Real-IP $remote_addr; + proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for; + proxy_set_header X-Forwarded-Proto $scheme; + proxy_set_header X-Forwarded-Protocol $scheme; + proxy_set_header X-Url-Scheme $scheme; + + # WebSocket support + proxy_http_version 1.1; + proxy_set_header Upgrade $http_upgrade; + proxy_set_header Connection "upgrade"; + } +} + + \ No newline at end of file diff --git a/services/zigbee2mqtt/docker-compose.yaml b/services/zigbee2mqtt/docker-compose.yaml index 3568729..524900d 100644 --- a/services/zigbee2mqtt/docker-compose.yaml +++ b/services/zigbee2mqtt/docker-compose.yaml @@ -9,12 +9,20 @@ services: - /run/udev:/run/udev:ro ports: # Frontend port - - 8085:8080 + #- 8085:8080 environment: - TZ=Europe/Lisbon devices: # Make sure this matched your adapter location - /dev/ttyUSB0:/dev/ttyUSB0 + networks: + zigbee2mqtt: + reverseproxy_public: volumes: data: +networks: + zigbee2mqtt: + reverseproxy_public: + external: true + \ No newline at end of file