From 171959e5db5e3f37255513e9d305996133ec8120 Mon Sep 17 00:00:00 2001 From: makefu Date: Fri, 12 Mar 2021 20:28:20 +0100 Subject: [PATCH] ma ham/zigbee2mqtt: enable frontend --- 2configs/home/ham/zigbee2mqtt/default.nix | 20 ++++++++++++++++++++ 1 file changed, 20 insertions(+) diff --git a/2configs/home/ham/zigbee2mqtt/default.nix b/2configs/home/ham/zigbee2mqtt/default.nix index 83c3c18..6ccf8b2 100644 --- a/2configs/home/ham/zigbee2mqtt/default.nix +++ b/2configs/home/ham/zigbee2mqtt/default.nix @@ -3,12 +3,16 @@ let dataDir = "/var/lib/zigbee2mqtt"; sec = import ; + internal-ip = "192.168.1.11"; + webport = 8521; in { # symlink the zigbee controller #services.udev.extraRules = '' # SUBSYSTEM=="tty", ATTRS{idVendor}=="0451", ATTRS{idProduct}=="16a8", SYMLINK+="cc2531", MODE="0660", GROUP="dialout" #''; + + # /dev/serial/by-id/usb-Silicon_Labs_slae.sh_cc2652rb_stick_-_slaesh_s_iot_stuff_00_12_4B_00_21_CC_45_BD-if00-port0 services.udev.extraRules = '' SUBSYSTEM=="tty", ATTRS{idVendor}=="10c4", ATTRS{idProduct}=="ea60", SYMLINK+="cc2531", MODE="0660", GROUP="dialout" ''; @@ -28,6 +32,9 @@ in include_device_information = true; client_id = "zigbee2mqtt"; }; + frontend = { + port = webport; + }; advanced = { log_level = "debug"; log_output = [ "console" ]; @@ -56,6 +63,19 @@ in }; }; + services.nginx.recommendedProxySettings = true; + services.nginx.virtualHosts."zigbee" = { + serverAliases = [ "zigbee.lan" ]; + locations."/".proxyPass = "http://localhost:${toString webport}"; + locations."/api".proxyPass = "http://localhost:${toString webport}"; + locations."/api".proxyWebsockets = true; + extraConfig = '' + if ( $server_addr != "${internal-ip}" ) { + return 403; + } + ''; + }; + state = [ "${dataDir}/devices.yaml" "${dataDir}/state.json" ]; systemd.services.zigbee2mqtt = {