From c87e5b80c48058269d7754a44b28eb7e50516993 Mon Sep 17 00:00:00 2001 From: CanbiZ <47820557+MickLesk@users.noreply.github.com> Date: Sat, 4 Jan 2025 10:08:45 +0100 Subject: [PATCH] Update zigbee2mqtt-install.sh --- install/zigbee2mqtt-install.sh | 59 ++++++++++++++++------------------ 1 file changed, 28 insertions(+), 31 deletions(-) diff --git a/install/zigbee2mqtt-install.sh b/install/zigbee2mqtt-install.sh index f6b8e97c..01d13220 100644 --- a/install/zigbee2mqtt-install.sh +++ b/install/zigbee2mqtt-install.sh @@ -1,6 +1,6 @@ #!/usr/bin/env bash -# Copyright (c) 2021-2024 tteck +# Copyright (c) 2021-2025 tteck # Author: tteck (tteckster) # License: MIT # https://github.com/community-scripts/ProxmoxVE/raw/main/LICENSE @@ -14,15 +14,15 @@ network_check update_os msg_info "Installing Dependencies" -$STD apt-get install -y curl -$STD apt-get install -y sudo -$STD apt-get install -y mc -$STD apt-get install -y git -$STD apt-get install -y make -$STD apt-get install -y g++ -$STD apt-get install -y gcc -$STD apt-get install -y ca-certificates -$STD apt-get install -y gnupg +$STD apt-get install -y \ + curl \ + sudo \ + mc \ + make \ + g++ \ + gcc \ + ca-certificates \ + gnupg msg_ok "Installed Dependencies" msg_info "Setting up Node.js Repository" @@ -36,49 +36,46 @@ $STD apt-get update $STD apt-get install -y nodejs msg_ok "Installed Node.js" -msg_info "Setting up Zigbee2MQTT Repository" -$STD git clone --depth 1 https://github.com/Koenkk/zigbee2mqtt.git /opt/zigbee2mqtt -msg_ok "Set up Zigbee2MQTT Repository" +msg_info "Installing pnpm" +$STD npm install -g pnpm +msg_ok "Installed pnpm" -read -r -p "Switch to Edge/dev branch? (y/N) " prompt -if [[ $prompt == "y" ]]; then - DEV="y" -else - DEV="n" -fi - -msg_info "Installing Zigbee2MQTT" +msg_info "Setting up Zigbee2MQTT" +cd /opt +corepack enable +RELEASE=$(curl -s https://api.github.com/repos/Koenkk/zigbee2mqtt/releases/latest | grep "tag_name" | awk '{print substr($2, 2, length($2)-3) }') +wget -q "https://github.com/Koenkk/zigbee2mqtt/archive/refs/tags/${RELEASE}.zip" +unzip -q ${RELEASE}.zip +mv zigbee2mqtt-${RELEASE} /opt/zigbee2mqtt +cd /opt/zigbee2mqtt/data +mv configuration.example.yaml configuration.yaml cd /opt/zigbee2mqtt -if [[ $DEV == "y" ]]; then -$STD git fetch origin dev:dev -$STD git checkout dev -$STD git pull -fi -$STD npm ci +pnpm install msg_ok "Installed Zigbee2MQTT" msg_info "Creating Service" -service_path="/etc/systemd/system/zigbee2mqtt.service" +cat </etc/systemd/system/zigbee2mqtt.service echo "[Unit] Description=zigbee2mqtt After=network.target [Service] Environment=NODE_ENV=production -ExecStart=/usr/bin/npm start +ExecStart=/usr/bin/pnpm start WorkingDirectory=/opt/zigbee2mqtt StandardOutput=inherit StandardError=inherit Restart=always User=root [Install] -WantedBy=multi-user.target" >$service_path -$STD systemctl enable zigbee2mqtt.service +EOF +systemctl enable -q --now zigbee2mqtt.service msg_ok "Created Service" motd_ssh customize msg_info "Cleaning up" +rm -rf /opt/${RELEASE}.zip $STD apt-get -y autoremove $STD apt-get -y autoclean msg_ok "Cleaned"