Skip to content

Commit bf05f4b

Browse files
authored
Refactor & Bump to Node24: Zigbee2MQTT (#5638)
1 parent be01124 commit bf05f4b

File tree

3 files changed

+26
-22
lines changed

3 files changed

+26
-22
lines changed

ct/zigbee2mqtt.sh

Lines changed: 20 additions & 13 deletions
Original file line numberDiff line numberDiff line change
@@ -9,7 +9,7 @@ APP="Zigbee2MQTT"
99
var_tags="${var_tags:-smarthome;zigbee;mqtt}"
1010
var_cpu="${var_cpu:-2}"
1111
var_ram="${var_ram:-1024}"
12-
var_disk="${var_disk:-4}"
12+
var_disk="${var_disk:-5}"
1313
var_os="${var_os:-debian}"
1414
var_version="${var_version:-12}"
1515
var_unprivileged="${var_unprivileged:-0}"
@@ -27,29 +27,38 @@ function update_script() {
2727
msg_error "No ${APP} Installation Found!"
2828
exit
2929
fi
30+
31+
if [[ -f ~/.zigbee2mqtt ]]; then
32+
CURRENT="$(cat ~/.zigbee2mqtt)"
33+
elif [[ -f /opt/${APP}_version.txt ]]; then
34+
CURRENT="$(cat /opt/${APP}_version.txt)"
35+
rm -f /opt/${APP}_version.txt
36+
else
37+
CURRENT=""
38+
fi
39+
3040
RELEASE=$(curl -fsSL https://api.github.com/repos/Koenkk/zigbee2mqtt/releases/latest | grep "tag_name" | awk '{print substr($2, 2, length($2)-3) }')
31-
if [[ ! -f /opt/${APP}_version.txt ]] || [[ "${RELEASE}" != "$(cat /opt/${APP}_version.txt)" ]]; then
41+
if [[ "$RELEASE" != "$CURRENT" ]]; then
42+
if ! command -v jq &>/dev/null; then
43+
$STD apt-get update
44+
$STD apt-get install -y jq
45+
fi
46+
NODE_VERSION=24 NODE_MODULE="pnpm@$(curl -fsSL https://raw.githubusercontent.com/Koenkk/zigbee2mqtt/master/package.json | jq -r '.packageManager | split("@")[1]')" setup_nodejs
47+
3248
msg_info "Stopping Service"
3349
systemctl stop zigbee2mqtt
3450
msg_ok "Stopped Service"
3551

36-
msg_info "Updating pnpm"
37-
$STD npm install -g [email protected]
38-
msg_ok "Updated pnpm"
39-
4052
msg_info "Creating Backup"
4153
rm -rf /opt/${APP}_backup*.tar.gz
4254
mkdir -p /opt/z2m_backup
4355
$STD tar -czf /opt/z2m_backup/${APP}_backup_$(date +%Y%m%d%H%M%S).tar.gz -C /opt zigbee2mqtt
4456
mv /opt/zigbee2mqtt/data /opt/z2m_backup
4557
msg_ok "Backup Created"
4658

59+
fetch_and_deploy_gh_release "Zigbee2MQTT" "Koenkk/zigbee2mqtt" "tarball" "latest" "/opt/zigbee2mqtt"
60+
4761
msg_info "Updating ${APP} to v${RELEASE}"
48-
cd /opt
49-
curl -fsSL "https://github.com/Koenkk/zigbee2mqtt/archive/refs/tags/${RELEASE}.zip" -o $(basename "https://github.com/Koenkk/zigbee2mqtt/archive/refs/tags/${RELEASE}.zip")
50-
$STD unzip ${RELEASE}.zip
51-
rm -rf /opt/zigbee2mqtt
52-
mv zigbee2mqtt-${RELEASE} /opt/zigbee2mqtt
5362
rm -rf /opt/zigbee2mqtt/data
5463
mv /opt/z2m_backup/data /opt/zigbee2mqtt
5564
cd /opt/zigbee2mqtt
@@ -63,9 +72,7 @@ function update_script() {
6372

6473
msg_info "Cleaning up"
6574
rm -rf /opt/z2m_backup
66-
rm -rf /opt/${RELEASE}.zip
6775
msg_ok "Cleaned up"
68-
echo "${RELEASE}" >/opt/${APP}_version.txt
6976
else
7077
msg_ok "No update required. ${APP} is already at v${RELEASE}."
7178
fi

frontend/public/json/zigbee2mqtt.json

Lines changed: 1 addition & 1 deletion
Some generated files are not rendered by default. Learn more about customizing how changed files appear on GitHub.

install/zigbee2mqtt-install.sh

Lines changed: 5 additions & 8 deletions
Original file line numberDiff line numberDiff line change
@@ -19,17 +19,15 @@ $STD apt-get install -y \
1919
make \
2020
g++ \
2121
gcc \
22-
ca-certificates
22+
ca-certificates \
23+
jq
2324
msg_ok "Installed Dependencies"
2425

25-
NODE_VERSION="22" NODE_MODULE="pnpm@latest" setup_nodejs
26+
NODE_VERSION="24" NODE_MODULE="pnpm@$(curl -fsSL https://raw.githubusercontent.com/Koenkk/zigbee2mqtt/master/package.json | jq -r '.packageManager | split("@")[1]')" setup_nodejs
27+
28+
fetch_and_deploy_gh_release "Zigbee2MQTT" "Koenkk/zigbee2mqtt" "tarball" "latest" "/opt/zigbee2mqtt"
2629

2730
msg_info "Setting up Zigbee2MQTT"
28-
cd /opt
29-
RELEASE=$(curl -fsSL https://api.github.com/repos/Koenkk/zigbee2mqtt/releases/latest | grep "tag_name" | awk '{print substr($2, 2, length($2)-3) }')
30-
curl -fsSL "https://github.com/Koenkk/zigbee2mqtt/archive/refs/tags/${RELEASE}.zip" -o "${RELEASE}.zip"
31-
$STD unzip ${RELEASE}.zip
32-
mv zigbee2mqtt-${RELEASE} /opt/zigbee2mqtt
3331
cd /opt/zigbee2mqtt/data
3432
mv configuration.example.yaml configuration.yaml
3533
cd /opt/zigbee2mqtt
@@ -60,7 +58,6 @@ motd_ssh
6058
customize
6159

6260
msg_info "Cleaning up"
63-
rm -rf /opt/${RELEASE}.zip
6461
$STD apt-get -y autoremove
6562
$STD apt-get -y autoclean
6663
msg_ok "Cleaned"

0 commit comments

Comments
 (0)