Projektarbeit-MYP/backend/app/schnellstart_raspberry_pi.sh

136 lines
5.3 KiB
Bash

#!/bin/bash
# ===================================================================
# MYP Druckerverwaltung - Raspberry Pi Schnellstart
# Vereinfachte Installation für sofortigen Kiosk-Modus
# Ruft das Haupt-Installationsskript auf
# ===================================================================
set -e
# Farben für Ausgabe
RED='\033[0;31m'
GREEN='\033[0;32m'
YELLOW='\033[1;33m'
BLUE='\033[0;34m'
PURPLE='\033[0;35m'
NC='\033[0m'
# Logging-Funktionen
log() { echo -e "${GREEN}[SCHNELLSTART] $1${NC}"; }
error() { echo -e "${RED}[FEHLER] $1${NC}"; exit 1; }
warning() { echo -e "${YELLOW}[WARNUNG] $1${NC}"; }
info() { echo -e "${BLUE}[INFO] $1${NC}"; }
# ASCII Art Banner
cat << 'EOF'
╔═══════════════════════════════════════════════════════════╗
║ MYP DRUCKERVERWALTUNG ║
║ Raspberry Pi Kiosk Schnellstart ║
║ ║
║ 🖨️ Vollautomatische Kiosk-Installation ║
║ 🔒 Maximale Sicherheit ohne Escape-Möglichkeiten ║
║ 🚀 Ein Klick - Fertig! ║
╚═══════════════════════════════════════════════════════════╝
EOF
echo
log "Willkommen zum MYP Druckerverwaltung Kiosk-Schnellstart!"
echo
# Root-Berechtigung prüfen
if [ "$EUID" -ne 0 ]; then
error "Dieses Skript muss als Root ausgeführt werden: sudo $0"
fi
# PATH für System-Tools setzen
export PATH="/usr/sbin:/sbin:/usr/bin:/bin:/usr/local/bin:$PATH"
# Aktuelles Verzeichnis ermitteln
CURRENT_DIR="$(pwd)"
log "Arbeitsverzeichnis: $CURRENT_DIR"
# Prüfe ob install_raspberry_pi.sh existiert
if [ ! -f "$CURRENT_DIR/install_raspberry_pi.sh" ]; then
error "install_raspberry_pi.sh nicht gefunden! Führe dieses Skript im MYP-Projektverzeichnis aus."
fi
# Prüfe ob app.py existiert (MYP-Projekt-Validierung)
if [ ! -f "$CURRENT_DIR/app.py" ]; then
error "app.py nicht gefunden! Bitte im MYP-Projektverzeichnis ausführen."
fi
# Mache Installationsskript ausführbar
chmod +x "$CURRENT_DIR/install_raspberry_pi.sh"
echo
info "📋 Was passiert bei der Installation:"
info " • System-Grundkonfiguration: Hostname 'raspberrypi', Root-Passwort, Zeitzone"
info " • System-Update: Vollständiges System-Upgrade mit neuen Zertifikaten"
info " • System-Bereinigung: Entfernt alle Desktop-Umgebungen"
info " • Chromium-Installation: Mehrere Fallback-Methoden"
info " • Verzeichnisstruktur: Upload-Ordner, Logs, Config mit korrekten Berechtigungen"
info " • Python-Installation: Direkt ins System ohne Virtual Environment"
info " • Sicherheits-Kiosk: Ohne Escape-Möglichkeiten"
info " • Autostart: Vollautomatischer Boot-to-Kiosk"
info " • Wartungstools: Remote-Management-System"
echo
info "🛡️ Sicherheits-Features:"
info " • SSH automatisch deaktiviert"
info " • Root-Zugang: 744563017196A (für Wartung)"
info " • Firewall mit Fail2Ban"
info " • Kein Desktop-Zugang"
info " • Passwort-geschützter Notfall-Modus"
echo
# Bestätigung einholen
warning "⚠️ ACHTUNG: Diese Installation erstellt einen VOLLAUTOMATISCHEN KIOSK!"
warning " • Das System bootet direkt in Kiosk-Modus (kein Desktop)"
warning " • SSH wird für Sicherheit deaktiviert"
warning " • Alle Desktop-Umgebungen werden entfernt"
warning " • Nur über Console oder myp-emergency-reset zugänglich"
echo
read -p "🚀 Vollautomatische Kiosk-Installation starten? (j/N): " confirm
if [[ ! "$confirm" =~ ^[jJ]$ ]]; then
error "Installation abgebrochen"
fi
echo
log "=== STARTE HAUPTINSTALLATION ==="
info "Dies kann 15-30 Minuten dauern..."
info "Überwachung möglich mit: tail -f /var/log/myp-kiosk-install.log"
echo
# Führe Hauptinstallation aus
if "$CURRENT_DIR/install_raspberry_pi.sh"; then
echo
log "🎉 === INSTALLATION ERFOLGREICH ABGESCHLOSSEN! ==="
echo
info "🔧 WICHTIGE WARTUNGSKOMMANDOS für nach dem Neustart:"
info " • Status prüfen: myp-maintenance status"
info " • Services steuern: myp-maintenance {start|stop|restart}"
info " • Kiosk beenden: myp-maintenance exit-kiosk"
info " • SSH aktivieren: myp-maintenance enable-ssh"
info " • Backup erstellen: myp-backup"
info " • Notfall-Reset: myp-emergency-reset"
echo
info "📱 ZUGRIFF NACH INSTALLATION:"
info " • Kiosk-Anwendung: Automatisch nach Neustart"
info " • Console-Zugang: Strg+Alt+F1 bis F6"
info " • Remote-Wartung: myp-maintenance enable-ssh"
echo
warning "⚠️ Das System startet nach dem Neustart automatisch im Kiosk-Modus!"
warning " Für Wartungszugang: Console verwenden oder SSH aktivieren"
echo
log "Schnellstart erfolgreich! 🚀"
else
echo
error "❌ Fehler bei der Hauptinstallation!"
echo
info "🔧 FEHLERBEHEBUNG:"
info " • Logfile prüfen: /var/log/myp-kiosk-install.log"
info " • Manuelle Installation: sudo ./install_raspberry_pi.sh"
info " • Bei Problemen: Überprüfe Internetverbindung und Berechtigungen"
echo
exit 1
fi