Files
pve-pbs-setup/post_install.sh

94 lines
3.0 KiB
Bash

#!/bin/bash
# ==========================================
# POST-INSTALL INTERNET TOOLBOX
# ==========================================
# Farben
RED="\033[31m"
GREEN="\033[32m"
YELLOW="\033[33m"
BLUE="\033[34m"
CYAN="\033[36m"
BOLD="\033[1m"
RESET="\033[0m"
# Prüfen, ob Root
if [ "$EUID" -ne 0 ]; then
echo -e "${RED}Bitte als Root ausführen (sudo)${RESET}"
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")
# Funktion für Header
print_header() {
clear
echo -e "${CYAN}${BOLD}==============================================${RESET}"
echo -e "${CYAN}${BOLD} POST-INSTALL INTERNET TOOLBOX ${RESET}"
echo -e "${CYAN}${BOLD}==============================================${RESET}"
}
# Menü starten
while true; do
print_header
echo -e "${YELLOW}Wähle ein Script zum Ausführen:${RESET}\n"
# Skripte nummerieren
i=1
declare -A INDEX_MAP
for key in "${ORDER[@]}"; do
echo -e "${BLUE}$i)${RESET} $key"
INDEX_MAP[$i]="$key"
((i++))
done
echo -e "${RED}0) Beenden${RESET}\n"
echo -ne "Auswahl: "
read -r choice
# Beenden
if [ "$choice" == "0" ]; then
echo -e "${GREEN}Bye! 👋${RESET}"
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 -e "\n${CYAN}------------------------------------${RESET}"
echo -e "${GREEN}Lade Script: ${BOLD}$key${RESET}"
echo -e "${YELLOW}Von: $url${RESET}"
echo -e "${CYAN}------------------------------------${RESET}\n"
tmpfile=$(mktemp)
curl -sSL "$url" -o "$tmpfile"
if [ ! -s "$tmpfile" ]; then
echo -e "${RED}Fehler beim Download!${RESET}"
rm -f "$tmpfile"
read -r -p "Enter drücken für Menü..."
continue
fi
bash "$tmpfile"
rm -f "$tmpfile"
echo -e "\n${CYAN}------------------------------------${RESET}"
echo -e "${GREEN}Fertig!${RESET} Drücke Enter für Menü..."
read -r
else
echo -e "${RED}Ungültige Auswahl! Bitte erneut versuchen.${RESET}"
sleep 1
fi
done