Files
myspeed/install.sh
Paul Schwarz d0bbeede09 Eindeutige Darstellung beim Prozess
Es wird jetzt deutlicher gemacht., was genau gerade passiert. Vorher wurde nur mitgeteilt, das etwas fehlt. Jetzt wird jeder Abschnitt gezeigt (Überprüfung). 
Zudem wurde log zu echo ersetzt und es wurden einige Farb- und Sonderzeichenformatierungen hinzugefügt, damit es nicht so langweilig aussieht.
2022-05-10 19:46:01 +02:00

111 lines
3.1 KiB
Bash
Executable File
Raw Blame History

This file contains ambiguous Unicode characters
This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.
#!/usr/bin/env bash
# Colors for better overview
GREEN='\033[0;32m'
BLUE='\033[1;34m'
YELLOW='\033[1;33m'
RED='\033[1;31m'
NORMAL='\033[0;39m'
INSTALLATION_PATH="/opt/myspeed"
RELEASE_URL=$(curl -s https://api.github.com/repos/gnmyt/myspeed/releases/latest | grep browser_download_url | cut -d '"' -f 4)
log () {
printf "\033[0;34m$1\e[0m\n"
}
# Root check
if [ $EUID -ne 0 ]; then
echo "$RED ✗ Fehler bei der Installation: $NORMAL Du benötigst Root-Rechte, um die Installation zu starten."
echo "$BLUE Die Root-Abfrage wird ausgeführt, bitte gib das dazugehörige Passwort ein. Die Installation wird dann automatisch neu gestartet. Um abzubrechen, drücke STRG+C."
sudo -s
curl -sSL https://raw.githubusercontent.com/gnmyt/myspeed/release/install.sh | bash
exit
fi
# Check if installed
if [ -d $INSTALLATION_PATH ]; then
echo "$YELLOW ⚠ Fehler bei der Installation: $NORMAL MySpeed ist bereits auf diesem System installiert. ($INSTALLATION_PATH)"
exit 0
fi
# Update all packages
apt-get update -y
clear
echo "$GREEN Info:$NORMAL Die Installation wird jetzt vorbereitet. Das kann einen Augenblick dauern..."
sleep 5
# Check for wget
clear
echo "$BLUE🔎 Status:$NORMAL Überprüfe, ob wget vorhanden ist..."
if ! command -v wget &> /dev/null
then
echo "$YELLOW\"wget\" ist nicht installiert.$NORMAL Die Installation wurde gestartet..."
sleep 2
apt-get install wget -y
fi
# Check for unzip
clear
echo "$BLUE🔎 Status:$NORMAL Überprüfe, ob unzip vorhanden ist..."
if ! command -v unzip &> /dev/null
then
echo "$YELLOW\"unzip\" ist nicht installiert.$NORMAL Die Installation wurde gestartet..."
sleep 2
apt-get install unzip -y
fi
# Check for curl
clear
echo "$BLUE 🔎 Status:$NORMAL Überprüfe, ob curl vorhanden ist..."
if ! command -v curl &> /dev/null
then
echo "$YELLOW\"curl\" ist nicht installiert.$NORMAL Die Installation wurde gestartet..."
sleep 2
apt-get install curl -y
fi
# Check for node
clear
echo "$BLUE 🔎 Status:$NORMAL Überprüfe, ob node vorhanden ist..."
if ! command -v node &> /dev/null
then
echo "$YELLOW\"node\" ist nicht installiert.$NORMAL Die Installation wurde gestartet..."
sleep 2
curl -sSL https://deb.nodesource.com/setup_16.x | bash
apt-get install nodejs -y
fi
clear
echo "$GREEN✓ Vorbereitung abgeschlossen:$NORMAL Die Installation von MySpeed wird jetzt gestartet..."
sleep 5
clear
if [ ! -d $INSTALLATION_PATH ]
then
echo "$BLUE Info: $NORMAL MySpeed wird unter dem Verzeichnis $INSTALLATION_PATH installiert. Der Ordner wird nun erstellt."
sleep 2
mkdir $INSTALLATION_PATH
fi
cd $INSTALLATION_PATH
echo "$BLUE Info: $NORMAL Die aktuelle MySpeed-Instanz wird heruntergeladen. Einen Moment..."
sleep 2
wget "$RELEASE_URL"
echo "$BLUE Info: $NORMAL Download abgeschlossen. Entpacken läuft..."
sleep 2
unzip MySpeed*.zip
rm MySpeed-*.zip
echo "$BLUE Info: $NORMAL Die notwendigen Abhängigkeiten werden jetzt installiert..."
sleep 2
npm install
clear
echo "$GREEN✓ Installation abgeschlossen: $NORMAL MySpeed wurde unter $INSTALLATION_PATH installiert."
echo "Die Weboberfläche findest du unter $BLUEhttp://localhost:5216$NORMAL."