Files
HomeServerCTs/CT-Files/z2mqtt/Scripts/Init.sh

33 lines
1.1 KiB
Bash

#!/bin/ash
npm install -g pnpm
#Run folowing commands as 'node' user
sudo -u node ash << EOF
#Install zigbee2mqtt
git clone --depth 1 https://github.com/Koenkk/zigbee2mqtt.git /opt/node/zigbee2mqtt
pnpm -C /opt/node/zigbee2mqtt i --frozen-lockfile
pnpm -C /opt/node/zigbee2mqtt run build
##Update config
cp /opt/node/zigbee2mqtt/data/configuration.example.yaml /opt/node/zigbee2mqtt/data/configuration.yaml
sed -i -e '/# port:/c\# port: \/dev\/ttyACM-Zigbee' /opt/node/zigbee2mqtt/data/configuration.yaml
#Install Z-Wave JS UI
git clone https://github.com/zwave-js/zwave-js-ui /opt/node/ZwaveJsUi
npm --prefix /opt/node/ZwaveJsUi install
npm --prefix /opt/node/ZwaveJsUi run build
#Save PM2 statup config
pm2 install pm2-logrotate
pm2 start pnpm --name zigbee2mqtt --cwd /opt/node/zigbee2mqtt -- start
pm2 start npm --name ZwaveJsUi --cwd /opt/node/ZwaveJsUi -- start
pm2 save
pm2 kill
EOF
#Adding update scipts
mv /opt/Setup/Scripts/Update-Zigbee2Mqtt.sh /opt/Update-Zigbee2Mqtt.sh
mv /opt/Setup/Scripts/Update-ZwaveJsUi.sh /opt/Update-ZwaveJsUi.sh
#Cleanup
rm -rf /home/node/.npm/_cacache
rm -rf /home/node/.cache