telegram_server_monitoring/setup.sh

65 lines
2.1 KiB
Bash

#!/bin/bash
# Überprüfen, ob Node.js installiert ist
if ! command -v node &> /dev/null; then
echo "Node.js ist nicht installiert. Installiere Node.js automatisch..."
# Automatische Installation von Node.js, abhängig vom Linux-System
if command -v apt &> /dev/null; then
sudo apt update
sudo apt install -y nodejs
elif command -v yum &> /dev/null; then
sudo yum install -y nodejs
else
echo "Automatische Installation von Node.js wird nicht unterstützt. Bitte installieren Sie Node.js manuell und führen Sie das Skript erneut aus."
exit 1
fi
fi
# Laden Sie die Umgebungsvariablen aus der .env-Datei
source .env
# Erstellen Sie ein neues Node.js-Projekt mit npm init und verwenden Sie Umgebungsvariablen
echo -e "Creating a new Node.js project..."
echo -e "Project name: $PROJECT_NAME"
echo -e "Version: 1.0.0"
echo -e "Description: Node.js project"
echo -e "Entry point: server_monitor_bot.js" # Hier Dateinamen anpassen
echo -e "Test command: "
echo -e "Git repository: https://git.viper.ipv64.net/M_Viper/telegram_server_monitoring"
echo -e "Keywords: "
echo -e "Author: M_Viper"
echo -e "License: ISC"
npm init -y
# Installieren Sie die benötigten Pakete
npm install ping
npm install node-telegram-bot-api
npm install js-yaml
npm install moment
npm install yml
npm install dotenv
npm install fs
npm install request
# Installieren Sie pm2, wenn es noch nicht installiert ist
if ! command -v pm2 &> /dev/null; then
npm install pm2 -g
fi
# Erstellen Sie ein Startskript für den Bot
echo -e "Creating start script..."
echo -e "#!/bin/bash\n\npm2 start server_monitor_bot.js" > start_bot.sh # Hier Dateinamen anpassen
chmod +x start_bot.sh
# Erstellen Sie ein Autostart-Skript für den Bot
echo -e "Creating autostart script..."
echo -e "[Unit]\nDescription=Telegram Server Monitoring Bot\n\n[Service]\nExecStart=/path/to/start_bot.sh\n\n[Install]\nWantedBy=default.target" > telegram_bot.service
sudo mv telegram_bot.service /etc/systemd/system/
sudo systemctl enable telegram_bot
# Erstellen Sie die benötigten Dateien
touch user_information.yml
touch error.log
touch configurations.yml