node-red-install.sh 2.0 KB

1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859606162636465666768697071727374757677
  1. #!/usr/bin/env bash
  2. # Copyright (c) 2021-2023 tteck
  3. # Author: tteck (tteckster)
  4. # License: MIT
  5. # https://github.com/tteck/Proxmox/raw/main/LICENSE
  6. source /dev/stdin <<< "$FUNCTIONS_FILE_PATH"
  7. color
  8. verb_ip6
  9. catch_errors
  10. setting_up_container
  11. network_check
  12. update_os
  13. msg_info "Installing Dependencies"
  14. $STD apt-get install -y curl
  15. $STD apt-get install -y sudo
  16. $STD apt-get install -y mc
  17. $STD apt-get install -y git
  18. $STD apt-get install -y ca-certificates
  19. $STD apt-get install -y gnupg
  20. msg_ok "Installed Dependencies"
  21. msg_info "Setting up Node.js Repository"
  22. mkdir -p /etc/apt/keyrings
  23. curl -fsSL https://deb.nodesource.com/gpgkey/nodesource-repo.gpg.key | gpg --dearmor -o /etc/apt/keyrings/nodesource.gpg
  24. echo "deb [signed-by=/etc/apt/keyrings/nodesource.gpg] https://deb.nodesource.com/node_20.x nodistro main" >/etc/apt/sources.list.d/nodesource.list
  25. msg_ok "Set up Node.js Repository"
  26. msg_info "Installing Node.js"
  27. $STD apt-get update
  28. $STD apt-get install -y nodejs
  29. msg_ok "Installed Node.js"
  30. msg_info "Installing Node-Red"
  31. $STD npm install -g --unsafe-perm node-red
  32. echo "journalctl -f -n 100 -u nodered -o cat" >/usr/bin/node-red-log
  33. chmod +x /usr/bin/node-red-log
  34. echo "systemctl stop nodered" >/usr/bin/node-red-stop
  35. chmod +x /usr/bin/node-red-stop
  36. echo "systemctl start nodered" >/usr/bin/node-red-start
  37. chmod +x /usr/bin/node-red-start
  38. echo "systemctl restart nodered" >/usr/bin/node-red-restart
  39. chmod +x /usr/bin/node-red-restart
  40. msg_ok "Installed Node-Red"
  41. msg_info "Creating Service"
  42. service_path="/etc/systemd/system/nodered.service"
  43. echo "[Unit]
  44. Description=Node-RED
  45. After=syslog.target network.target
  46. [Service]
  47. ExecStart=/usr/bin/node-red --max-old-space-size=128 -v
  48. Restart=on-failure
  49. KillSignal=SIGINT
  50. SyslogIdentifier=node-red
  51. StandardOutput=syslog
  52. WorkingDirectory=/root/
  53. User=root
  54. Group=root
  55. [Install]
  56. WantedBy=multi-user.target" >$service_path
  57. $STD systemctl enable --now nodered.service
  58. msg_ok "Created Service"
  59. motd_ssh
  60. customize
  61. msg_info "Cleaning up"
  62. $STD apt-get autoremove
  63. $STD apt-get autoclean
  64. msg_ok "Cleaned"