- Create a copy of the .env example - Updated the installed packages to allow for installation
78 lines
1.7 KiB
Bash
78 lines
1.7 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
|
|
|
|
# Create the .env file from the example
|
|
cp $SCRIPT_DIR/.env.example $SCRIPT_DIR/.env
|
|
|
|
# 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 |