diff --git a/node-red2_setup.sh b/node-red2_setup.sh deleted file mode 100644 index e739bdf7..00000000 --- a/node-red2_setup.sh +++ /dev/null @@ -1,80 +0,0 @@ -#!/usr/bin/env bash - -# Setup script environment -set -o errexit #Exit immediately if a pipeline returns a non-zero status -set -o errtrace #Trap ERR from shell functions, command substitutions, and commands from subshell -set -o nounset #Treat unset variables as an error -set -o pipefail #Pipe will exit with last non-zero status if applicable -shopt -s expand_aliases -alias die='EXIT=$? LINE=$LINENO error_exit' -trap die ERR -trap 'die "Script interrupted."' INT - -function error_exit() { - trap - ERR - local DEFAULT='Unknown failure occured.' - local REASON="\e[97m${1:-$DEFAULT}\e[39m" - local FLAG="\e[91m[ERROR:LXC] \e[93m$EXIT@$LINE" - msg "$FLAG $REASON" - exit $EXIT -} -function msg() { - local TEXT="$1" - echo -e "$TEXT" -} - -# Prepare container OS -msg "Setting up container OS..." -sed -i "/$LANG/ s/\(^# \)//" /etc/locale.gen -locale-gen >/dev/null -apt-get -y purge openssh-{client,server} >/dev/null -apt-get autoremove >/dev/null - -# Update container OS -msg "Updating container OS..." -apt-get update >/dev/null -apt-get -qqy upgrade &>/dev/null - -# Install prerequisites -msg "Installing prerequisites..." -apt-get -qqy install \ - curl \ - sudo &>/dev/null - -msg "Installing NVM..." -curl -o- https://raw.githubusercontent.com/nvm-sh/nvm/master/install.sh | bash &>/dev/null - -msg "Installing Node.js 16.7..." -nvm install v16.7.0 &>/dev/null - -msg "Installing PM2..." -npm install -g pm2 &>/dev/null - -# Install Node Red -msg "Installing Node-RED..." -npm install -g --unsafe-perm node-red &>/dev/null - -# Set up PM2 to manage startup of Node Red -msg "Setting up PM2..." -/usr/local/bin/pm2 start /usr/local/bin/node-red &>/dev/null -/usr/local/bin/pm2 save &>/dev/null -/usr/local/bin/pm2 startup &>/dev/null - -# Customize container -msg "Customizing container..." -rm /etc/motd # Remove message of the day after login -rm /etc/update-motd.d/10-uname # Remove kernel information after login -touch ~/.hushlogin # Remove 'Last login: ' and mail notification after login -GETTY_OVERRIDE="/etc/systemd/system/container-getty@1.service.d/override.conf" -mkdir -p $(dirname $GETTY_OVERRIDE) -cat << EOF > $GETTY_OVERRIDE -[Service] -ExecStart= -ExecStart=-/sbin/agetty --autologin root --noclear --keep-baud tty%I 115200,38400,9600 \$TERM -EOF -systemctl daemon-reload -systemctl restart $(basename $(dirname $GETTY_OVERRIDE) | sed 's/\.d//') - -# Cleanup container -msg "Cleanup..." -rm -rf /node-red2_setup.sh /var/{cache,log}/* /var/lib/apt/lists/*