Files
Projektarbeit-MYP/backend/docs/SETUP_README.md

7.0 KiB

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)

sudo ./setup.sh

Das Skript erkennt automatisch den besten Installationsmodus.

Manueller Modus (Optional)

# 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

# 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

# Erzwinge gewünschten Modus
sudo ./setup.sh --production    # Für Kiosk
sudo ./setup.sh --development   # Für Entwicklung

Services starten nicht

# 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