# MYP Druckerverwaltung - Vollautomatisches Setup ## 🚀 Überblick Das MYP Setup-Skript wurde vollständig überarbeitet und ist jetzt **vollautomatisch**. Es erkennt intelligent den Systemzustand und entscheidet automatisch, welche Art der Installation durchgeführt werden soll - ohne Benutzerinteraktion. ## ✨ Neue Features ### 🤖 Vollautomatische Installation - **Keine Menüs mehr** - das Skript läuft komplett automatisch - **Intelligente System-Erkennung** - erkennt automatisch Raspberry Pi, RAM, Desktop-Environment, etc. - **Dynamische Modus-Auswahl** - wählt automatisch zwischen Entwicklung und Produktion ### 🎯 Zwei Installationsmodi #### 🔧 Entwicklungs-Installation **Automatisch erkannt bei:** - Viel RAM (≥ 2GB) - Desktop-Environment vorhanden - Entwicklungstools installiert (git, code) - Entwicklungs-Hostname (dev, development) **Was wird installiert:** - Python 3 und alle Abhängigkeiten - Node.js und npm - SSL-Zertifikate - Anwendung deployed nach `/opt/myp` - Systemd-Services - Performance-Optimierungen #### 🎯 Produktions-Installation (Kiosk) **Automatisch erkannt bei:** - Raspberry Pi Hardware - Wenig RAM (< 2GB) - Kein Desktop-Environment - Kiosk-User bereits vorhanden - SSH-Service aktiv - Kiosk-Hostname (kiosk, display, terminal) **Was wird installiert:** - Vollständige Kiosk-Installation - Remote-Zugang (RDP: root:744563017196A) - SSH-Zugang (user: raspberry) - Automatischer Kiosk-Start beim Boot - Firewall und Sicherheitskonfiguration - Performance-Optimierungen für Raspberry Pi ## 📋 Verwendung ### Einfache Ausführung (Empfohlen) ```bash sudo ./setup.sh ``` Das Skript erkennt automatisch den besten Installationsmodus. ### Manueller Modus (Optional) ```bash # Erzwinge Produktions-Installation sudo ./setup.sh --production sudo ./setup.sh --prod sudo ./setup.sh -p # Erzwinge Entwicklungs-Installation sudo ./setup.sh --development sudo ./setup.sh --dev sudo ./setup.sh -d # Hilfe anzeigen sudo ./setup.sh --help sudo ./setup.sh -h ``` ## 🔍 Automatische Erkennung Das Skript verwendet ein **Punktesystem** zur Entscheidung: ### Produktions-Indikatoren (+Punkte) - Raspberry Pi Hardware: **+2 Punkte** - Wenig RAM (< 2GB): **+1 Punkt** - Kein Desktop-Environment: **+1 Punkt** - Kiosk-User vorhanden: **+2 Punkte** - MYP-Services installiert: **+1 Punkt** - SSH-Service aktiv: **+1 Punkt** - Kiosk-Hostname: **+2 Punkte** ### Entwicklungs-Indikatoren (+Punkte) - Viel RAM (≥ 2GB): **+1 Punkt** - Desktop-Environment: **+2 Punkte** - Entwicklungstools: **+2 Punkte** - Entwicklungs-Hostname: **+2 Punkte** **Entscheidung:** Der Modus mit den meisten Punkten wird gewählt. Bei Gleichstand wird Entwicklungsmodus gewählt (sicherer). ## 📊 Installation Ablauf ### 1. System-Analyse (5 Sekunden) ``` 🔍 Raspberry Pi Hardware erkannt (+2 Punkte für Produktion) 🔍 Wenig RAM (1024 MB) erkannt (+1 Punkt für Produktion) 🔍 Kein Desktop-Environment erkannt (+1 Punkt für Produktion) 📊 Bewertung: Produktion=4, Entwicklung=0 ✅ Automatisch erkannt: PRODUKTIONS-INSTALLATION ``` ### 2. Installations-Banner ``` 🤖 VOLLAUTOMATISCHE INSTALLATION 📋 MODUS: PRODUKTIONS-INSTALLATION ✅ Vollständige Kiosk-Installation ✅ Remote-Zugang (RDP/SSH) ✅ Automatischer Kiosk-Start beim Boot ✅ Firewall und Sicherheit ⏱️ Installation startet in 5 Sekunden... (Drücken Sie Ctrl+C zum Abbrechen) ``` ### 3. Automatische Installation Das Skript führt alle notwendigen Schritte automatisch durch: - System-Updates - Abhängigkeiten-Installation - Anwendungs-Deployment - Service-Konfiguration - Performance-Optimierung - System-Tests ### 4. Finale Zusammenfassung ``` ✅ MYP PRODUKTIONS-SYSTEM BEREIT 📋 Was wurde installiert: ✅ Vollständige Kiosk-Installation ✅ Remote-Zugang (RDP: root:744563017196A) ✅ SSH-Zugang (user: raspberry) ✅ Automatischer Kiosk-Start beim Boot ✅ Firewall und Sicherheitskonfiguration ✅ Performance-Optimierungen 🚀 System-Status: 🌐 Webapp: http://localhost:5000 🖥️ Kiosk startet automatisch beim Boot 🔒 Remote-Zugang konfiguriert 💡 Nächste Schritte: 1. System neu starten für vollständige Kiosk-Aktivierung 2. Remote-Zugang testen (RDP/SSH) 3. Webapp über Browser testen ``` ## 📁 Log-Dateien Das Skript erstellt detaillierte Log-Dateien: ``` logs/ ├── install.log # Vollständiges Installations-Log ├── errors.log # Nur Fehler ├── warnings.log # Nur Warnungen ├── debug.log # Debug-Informationen └── install-summary.txt # Automatische Zusammenfassung ``` ## 🔧 Erweiterte Features ### Intelligente Wiederholung - Automatische Wiederholung bei temporären Fehlern - Bis zu 3 Versuche mit 5 Sekunden Pause - Detaillierte Fehler-Protokollierung ### Performance-Optimierung - Automatische RAM-Erkennung und Anpassung - Festplatten-Optimierung - Service-Optimierung für Raspberry Pi - CSS/JS-Minimierung und Gzip-Kompression ### Robuste Fehlerbehandlung - Umfassende System-Validierung - Detaillierte Fehler-Logs mit Kontext - Automatische Wiederherstellung bei Problemen - System-Status-Überwachung ## 🛠️ Fehlerbehebung ### Häufige Probleme #### Installation bricht ab ```bash # Prüfe die Log-Dateien cat logs/errors.log cat logs/install-summary.txt # Starte mit Debug-Informationen sudo bash -x ./setup.sh ``` #### Falscher Modus erkannt ```bash # Erzwinge gewünschten Modus sudo ./setup.sh --production # Für Kiosk sudo ./setup.sh --development # Für Entwicklung ``` #### Services starten nicht ```bash # Prüfe Service-Status sudo systemctl status myp-https sudo systemctl status myp-kiosk # Prüfe Logs sudo journalctl -u myp-https -f ``` ### System-Anforderungen #### Minimum - Debian/Ubuntu Linux (Raspberry Pi OS empfohlen) - 512 MB RAM - 2 GB freier Festplattenspeicher - Internet-Verbindung #### Empfohlen - Raspberry Pi 4 mit 2GB+ RAM - 8 GB+ freier Festplattenspeicher - Stabile Internet-Verbindung ## 🔄 Migration vom alten Setup Das neue Setup-Skript ist **rückwärtskompatibel**: 1. **Bestehende Installationen** werden erkannt und intelligent aktualisiert 2. **Konfigurationen** bleiben erhalten 3. **Services** werden automatisch migriert 4. **Keine manuelle Konfiguration** erforderlich ## 📞 Support Bei Problemen: 1. **Log-Dateien prüfen:** `logs/install-summary.txt` 2. **Debug-Modus:** `sudo bash -x ./setup.sh` 3. **Manueller Modus:** `sudo ./setup.sh --help` ## 🎉 Vorteile der neuen Version ### Für Benutzer - ✅ **Keine Entscheidungen** mehr nötig - ✅ **Schnellere Installation** durch Automatisierung - ✅ **Weniger Fehler** durch intelligente Erkennung - ✅ **Bessere Logs** für Fehlerbehebung ### Für Entwickler - ✅ **Konsistente Installationen** auf verschiedenen Systemen - ✅ **Einfache Deployment** ohne manuelle Konfiguration - ✅ **Robuste Fehlerbehandlung** mit detailliertem Logging - ✅ **Flexible Parameter** für spezielle Anforderungen --- **Version:** 5.0.0 - Vollautomatische Installation **Kompatibilität:** Debian/Ubuntu Linux, Raspberry Pi OS **Lizenz:** Projektintern