install/install.sh

89 lines
3.4 KiB
Bash

#!/bin/bash
# Farben für eine übersichtliche Ausgabe
GREEN='\033[0;32m'
BLUE='\033[0;34m'
YELLOW='\033[1;33m'
RED='\033[0;31m'
NC='\033[0m' # No Color
echo -e "${BLUE}=========================================="
echo -e " Ultimate Setup Script 2026"
echo -e "==========================================${NC}"
# 1. System Update & Upgrade
echo -e "${YELLOW}Schritt 1: System-Vorbereitung${NC}"
read -p "Möchtest du ein apt-update & apt-upgrade durchführen? (j/n): " do_upgrade
if [[ $do_upgrade =~ ^[Jj]$ ]]; then
echo -e "${GREEN}Aktualisiere System...${NC}"
sudo apt-get update && sudo apt-get upgrade -y
else
echo -e "Update übersprungen."
fi
# 2. Software-Liste
options=(
"Docker"
"Node.js"
"Python3 & Pip"
"Git"
"VS Code"
"Midnight Commander (mc)"
"sudo"
"curl"
"MariaDB (MySQL)"
"Beenden"
)
show_menu() {
echo -e "\n${BLUE}Wähle die Software zur Installation (Zahlen mit Leerzeichen trennen):${NC}"
for i in "${!options[@]}"; do
printf "%2d) %s\n" "$((i+1))" "${options[$i]}"
done
}
# Installations-Funktionen
install_mariadb() {
echo -e "${GREEN}Installiere MariaDB Server...${NC}"
sudo apt-get update
sudo apt-get install -y mariadb-server
echo -e "${YELLOW}Starte MariaDB-Dienst...${NC}"
sudo systemctl start mariadb
sudo systemctl enable mariadb
echo -e "${BLUE}Tipp: Führe nach dem Skript 'sudo mysql_secure_installation' aus, um ein Passwort zu setzen.${NC}"
}
install_docker() {
echo -e "${GREEN}Installiere Docker...${NC}"
sudo apt-get install -y apt-transport-https ca-certificates curl software-properties-common
curl -fsSL https://download.docker.com/linux/ubuntu/gpg | sudo gpg --dearmor -o /usr/share/keyrings/docker-archive-keyring.gpg
echo "deb [arch=$(dpkg --print-architecture) signed-by=/usr/share/keyrings/docker-archive-keyring.gpg] https://download.docker.com/linux/ubuntu $(lsb_release -cs) stable" | sudo tee /etc/apt/sources.list.d/docker.list > /dev/null
sudo apt-get update && sudo apt-get install -y docker-ce docker-ce-cli containerd.io
}
# 3. Haupt-Logik
show_menu
read -p "Deine Auswahl: " choices
for choice in $choices; do
case $choice in
1) install_docker ;;
2) echo -e "${GREEN}Installiere Node.js...${NC}"; curl -fsSL https://deb.nodesource.com/setup_current.x | sudo -E bash -; sudo apt-get install -y nodejs ;;
3) echo -e "${GREEN}Installiere Python3...${NC}"; sudo apt-get install -y python3 python3-pip ;;
4) echo -e "${GREEN}Installiere Git...${NC}"; sudo apt-get install -y git ;;
5) # VS Code Logik verkürzt für Übersicht
wget -qO- https://packages.microsoft.com/keys/microsoft.asc | gpg --dearmor | sudo tee /etc/apt/keyrings/vscode.gpg > /dev/null
echo "deb [arch=amd64 signed-by=/etc/apt/keyrings/vscode.gpg] https://packages.microsoft.com/repos/code stable main" | sudo tee /etc/apt/sources.list.d/vscode.list
sudo apt-get update && sudo apt-get install -y code ;;
6) sudo apt-get install -y mc ;;
7) sudo apt-get install -y sudo ;;
8) sudo apt-get install -y curl ;;
9) install_mariadb ;;
10) exit 0 ;;
*) echo -e "${RED}Ungültige Option: $choice${NC}" ;;
esac
done
echo -e "\n${GREEN}=========================================="
echo -e " Installation abgeschlossen!"
echo -e "==========================================${NC}"