12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455565758596061626364656667686970717273747576777879808182 |
- #!/usr/bin/env bash
- # Copyright (c) 2021-2023 tteck
- # Author: tteck (tteckster)
- # License: MIT
- # https://github.com/tteck/Proxmox/raw/main/LICENSE
- source /dev/stdin <<< "$FUNCTIONS_FILE_PATH"
- color
- verb_ip6
- catch_errors
- setting_up_container
- 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
- msg_ok "Installed Dependencies"
- msg_info "Setting up Node.js Repository"
- mkdir -p /etc/apt/keyrings
- curl -fsSL https://deb.nodesource.com/gpgkey/nodesource-repo.gpg.key | gpg --dearmor -o /etc/apt/keyrings/nodesource.gpg
- echo "deb [signed-by=/etc/apt/keyrings/nodesource.gpg] https://deb.nodesource.com/node_18.x nodistro main" >/etc/apt/sources.list.d/nodesource.list
- msg_ok "Set up Node.js Repository"
- msg_info "Installing Node.js"
- $STD apt-get update
- $STD apt-get install -y nodejs
- msg_ok "Installed Node.js"
- msg_info "Setting up Zigbee2MQTT Repository"
- $STD git clone https://github.com/Koenkk/zigbee2mqtt.git /opt/zigbee2mqtt
- msg_ok "Set up Zigbee2MQTT Repository"
- 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"
- cd /opt/zigbee2mqtt
- if [[ $DEV == "y" ]]; then
- $STD git checkout dev
- fi
- $STD npm ci
- msg_ok "Installed Zigbee2MQTT"
- msg_info "Creating Service"
- service_path="/etc/systemd/system/zigbee2mqtt.service"
- echo "[Unit]
- Description=zigbee2mqtt
- After=network.target
- [Service]
- Environment=NODE_ENV=production
- ExecStart=/usr/bin/npm start
- WorkingDirectory=/opt/zigbee2mqtt
- StandardOutput=inherit
- StandardError=inherit
- Restart=always
- User=root
- [Install]
- WantedBy=multi-user.target" >$service_path
- $STD systemctl enable zigbee2mqtt.service
- msg_ok "Created Service"
- motd_ssh
- customize
- msg_info "Cleaning up"
- $STD apt-get autoremove
- $STD apt-get autoclean
- msg_ok "Cleaned"
|