Files
pve-pbs-setup/post_install.sh

74 lines
2.3 KiB
Bash

#!/bin/bash
# Prüfen, ob Root
if [ "$EUID" -ne 0 ]; then
echo "Bitte als Root ausführen (sudo)"
exit 1
fi
# Skripte (Name -> URL)
declare -A SCRIPTS
SCRIPTS["Host & SSD Seriennummern"]="https://gitea.vmd55888.de/manuel.maier/pve-pbs-setup/raw/branch/main/get_sn.sh"
SCRIPTS["Set PVE-Mail"]="https://gitea.vmd55888.de/manuel.maier/pve-pbs-setup/raw/branch/main/setup-email-pve.sh"
SCRIPTS["Set PBS-Mail"]="https://gitea.vmd55888.de/manuel.maier/pve-pbs-setup/raw/branch/main/setup-email-pbs.sh"
SCRIPTS["Set CPU Scaling Governor"]="https://raw.githubusercontent.com/community-scripts/ProxmoxVE/main/tools/pve/scaling-governor.sh"
SCRIPTS["Intel e1000e Offload Fix"]="https://raw.githubusercontent.com/community-scripts/ProxmoxVE/main/tools/pve/nic-offloading-fix.sh"
# Reihenfolge festlegen
ORDER=("Host & SSD Seriennummern" "Set PVE-Mail" "Set PBS-Mail" "Set CPU Scaling Governor" "Intel e1000e Offload Fix")
# Menü starten
while true; do
echo "===================================="
echo " POST-INSTALL INTERNET TOOLBOX"
echo "===================================="
echo "Wähle ein Script zum Ausführen:"
# Skripte nummerieren in der festen Reihenfolge
i=1
declare -A INDEX_MAP
for key in "${ORDER[@]}"; do
echo "$i) $key"
INDEX_MAP[$i]="$key"
((i++))
done
echo "0) Beenden"
echo -n "Auswahl: "
read -r choice
# Beenden
if [ "$choice" == "0" ]; then
echo "Bye! 👋"
exit 0
fi
# Prüfen ob gültig
if [[ "$choice" =~ ^[0-9]+$ ]] && [ "$choice" -ge 1 ] && [ "$choice" -lt "$i" ]; then
key="${INDEX_MAP[$choice]}"
url="${SCRIPTS[$key]}"
echo "------------------------------------"
echo "Lade Script: $key"
echo "Von: $url"
echo "------------------------------------"
tmpfile=$(mktemp)
curl -sSL "$url" -o "$tmpfile"
if [ ! -s "$tmpfile" ]; then
echo "Fehler beim Download!"
rm -f "$tmpfile"
read -r -p "Enter drücken für Menü..."
continue
fi
bash "$tmpfile"
rm -f "$tmpfile"
echo "------------------------------------"
echo "Fertig! Drücke Enter für Menü..."
read -r
else
echo "Ungültige Auswahl! Bitte erneut versuchen."
fi
done