Files
DRB-CnC/Client/setup.sh
Logan Cusano 79d2ca1887 #6 Removed copy of env
- Should be done manually and edited before running setup script
2023-06-17 23:37:26 -04:00

75 lines
1.6 KiB
Bash

#!/bin/bash
# Check if the user is root
if [ "$EUID" -ne 0 ]
then echo "Please run as root"
exit
fi
SCRIPT_DIR=$( cd -- "$( dirname -- "${BASH_SOURCE[0]}" )" &> /dev/null && pwd )
ls -ld $SCRIPT_DIR | awk '{print $3}' >> ./config/installerName
# Setup user for service
useradd -M RadioNode
usermod -s -L RadioNode
# Change the ownership of the directory to the service user
chown RadioNode -R $SCRIPT_DIR
# Check for updates
apt-get update
# Install Node Repo
curl -fsSL https://deb.nodesource.com/setup_current.x | sudo -E bash -
# Update the system
apt-get update
apt-get upgrade -y
# Install the necessary packages
apt-get install -y nodejs portaudio19-dev libportaudio2 libpulse-dev pulseaudio apulse python3 python3-pip
# Ensure pulse audio is running
pulseaudio
# Install the node packages from the project
npm i
# Install the python packages needed for the bot
pip install -r
# Setup bot service
echo "[Unit]
Description=Radio Node Service
After=network.target
[Service]
WorkingDirectory="$SCRIPT_DIR"
ExecStart=/usr/bin/node .
Restart=always
RestartDelay=10
User=RadioNode
Environment=DEBUG='client:*'
[Install]
WantedBy=multi-user.target" >> /etc/systemd/system/RadioNode.service
# Setup bot update service
echo "[Unit]
Description=Radio Node Updater Service
After=network.target
[Service]
WorkingDirectory="$SCRIPT_DIR"
ExecStart=/usr/bin/bash update.sh
Restart=on-failure
User=RadioNode
[Install]
WantedBy=multi-user.target" >> /etc/systemd/system/RadioNodeUpdater.service
# Enable the service
systemctl enable RadioNode.service
# Start the service
systemctl start RadioNode.service