feat: Überarbeitung des Kiosk-Installationsskripts zur Vereinfachung der Installation ohne venv/nginx und Verbesserung der Benutzerinteraktion durch klare Fehlermeldungen und Anweisungen. Entfernen nicht benötigter Dateien und Anpassung der Service-Konfiguration für bessere Wartbarkeit.

This commit is contained in:
2025-05-27 08:54:04 +02:00
parent aa40816ba0
commit 77a29a7989
16 changed files with 144 additions and 1675 deletions

View File

@@ -1156,92 +1156,38 @@ EOF
echo -e "${GREEN}✓ Backend für Kiosk-Modus konfiguriert${NC}"
}
# Kiosk-Modus installieren (verbesserte Version)
# Kiosk-Modus installieren (Einfache Version ohne venv/nginx)
install_kiosk_mode() {
show_header "Kiosk-Modus Installation"
echo -e "${BLUE}MYP Kiosk-Modus (Backend Web Interface) installieren${NC}"
echo -e "${BLUE}MYP Kiosk-Modus - Einfache Installation${NC}"
echo ""
echo -e "${YELLOW}Der Kiosk-Modus nutzt das Backend Flask Web Interface${NC}"
echo -e "${YELLOW}als vollständiges Kiosk-System für Touchscreen-Bedienung.${NC}"
echo -e "${YELLOW}Installiert Backend + Chromium Kiosk ohne venv oder nginx${NC}"
echo -e "${YELLOW}Backend läuft auf 192.168.0.105:80, automatischer Login als 'user'${NC}"
echo ""
# Backend muss installiert sein
if [ ! -d "$VENV_DIR" ]; then
echo -e "${RED}Backend ist nicht installiert. Bitte installieren Sie zuerst das Backend.${NC}"
# Prüfe Root-Rechte
if [ $is_root -ne 1 ]; then
echo -e "${RED}Root-Rechte erforderlich für Kiosk-Installation${NC}"
read -p "Drücken Sie ENTER, um fortzufahren..."
return 1
fi
# Prüfen ob Backend läuft
if ! curl -k -s --max-time 5 https://localhost:443/ > /dev/null 2>&1; then
echo -e "${YELLOW}⚠ Backend scheint nicht zu laufen. Stellen Sie sicher, dass das Backend gestartet ist.${NC}"
echo -e "${BLUE}Backend starten mit: cd $APP_DIR && python3.11 app.py${NC}"
else
echo -e "${GREEN}✓ Backend ist verfügbar${NC}"
# Führe das einfache Kiosk-Installationsskript aus
echo -e "${BLUE}Starte einfache Kiosk-Installation...${NC}"
cd "$PROJECT_DIR/backend/install"
if [ ! -f "install-kiosk.sh" ]; then
echo -e "${RED}✗ Kiosk-Installationsskript nicht gefunden${NC}"
read -p "Drücken Sie ENTER, um fortzufahren..."
return 1
fi
# Virtual Environment aktivieren
source "$VENV_DIR/bin/activate"
cd "$APP_DIR"
chmod +x install-kiosk.sh
./install-kiosk.sh
# Kiosk-Konfiguration sicherstellen
echo -e "${BLUE}1. Kiosk-Konfiguration sicherstellen...${NC}"
configure_backend_for_kiosk
# Systemd Service für automatischen Browser-Start
if [ $is_root -eq 1 ]; then
echo -e "${BLUE}2. Automatischen Kiosk-Start aktivieren...${NC}"
read -p "Soll der Kiosk-Browser automatisch beim System-Start gestartet werden? (j/n, Standard: n): " auto_start
if [ "$auto_start" = "j" ]; then
systemctl enable myp-kiosk-browser.service
echo -e "${GREEN}✓ Automatischer Kiosk-Start aktiviert${NC}"
echo -e "${BLUE}Der Browser startet automatisch nach dem nächsten Neustart${NC}"
else
echo -e "${YELLOW}⚠ Automatischer Start nicht aktiviert${NC}"
echo -e "${BLUE}Manuell aktivieren mit: sudo systemctl enable myp-kiosk-browser${NC}"
fi
else
echo -e "${YELLOW}⚠ Systemd-Service-Installation übersprungen (keine Root-Rechte)${NC}"
fi
# Kiosk jetzt starten (optional)
echo -e "${BLUE}3. Kiosk-Test...${NC}"
read -p "Möchten Sie den Kiosk-Modus jetzt testen? (j/n, Standard: n): " test_kiosk
if [ "$test_kiosk" = "j" ]; then
echo -e "${BLUE}Starte Kiosk-Test (Browser öffnet sich)...${NC}"
echo -e "${YELLOW}Drücken Sie F11 oder Alt+F4 um den Kiosk zu beenden${NC}"
sleep 3
"$APP_DIR/start_kiosk.sh" &
echo -e "${GREEN}✓ Kiosk-Browser gestartet${NC}"
fi
deactivate
cd "$PROJECT_DIR"
echo ""
echo -e "${GREEN}✓ Kiosk-Modus Installation abgeschlossen!${NC}"
echo ""
echo -e "${BLUE}🖥️ Kiosk-Modus verwenden:${NC}"
echo -e "${WHITE} - Backend starten: cd $APP_DIR && python app.py${NC}"
echo -e "${WHITE} - Kiosk manuell starten: $APP_DIR/start_kiosk.sh${NC}"
echo -e "${WHITE} - Systemd-Service: sudo systemctl start myp-kiosk-browser${NC}"
echo ""
echo -e "${BLUE}🌐 Kiosk-URLs:${NC}"
echo -e "${WHITE} - Hauptinterface: https://localhost:443/${NC}"
echo -e "${WHITE} - Dashboard: https://localhost:443/dashboard${NC}"
echo -e "${WHITE} - Drucker: https://localhost:443/printers${NC}"
echo -e "${WHITE} - Jobs: https://localhost:443/jobs${NC}"
echo ""
echo -e "${BLUE}🔧 Kiosk-Features:${NC}"
echo -e "${WHITE} - Vollbild-Web-Interface${NC}"
echo -e "${WHITE} - Touch-optimierte Bedienung${NC}"
echo -e "${WHITE} - Automatisches Login${NC}"
echo -e "${WHITE} - Deaktivierung mit Passwort: 744563017196A${NC}"
echo ""
read -p "Drücken Sie ENTER, um fortzufahren..."
# Das Skript startet automatisch neu, daher wird dieser Code nicht erreicht
echo -e "${GREEN} Kiosk-Installation abgeschlossen${NC}"
}
# Frontend installieren
@@ -2406,32 +2352,30 @@ show_main_menu() {
show_header "🎯 MYP Control Center - Hauptmenü"
echo -e "${WHITE}🚀 Schnell-Installation:${NC}"
echo -e "${WHITE}1. 🖥️ Server-spezifische Installation (Empfohlen)${NC}"
echo -e "${WHITE}1. 🖥️ Kiosk-Modus installieren (Einfach - Backend + Chromium)${NC}"
echo -e "${WHITE}2. 🔧 Vollständige Installation (Backend + Frontend)${NC}"
echo -e "${WHITE}3. 🥧 Backend-Only Installation (mit Kiosk Web Interface)${NC}"
echo -e "${WHITE}3. 🥧 Backend-Only Installation${NC}"
echo -e "${WHITE}4. 🌐 Frontend-Only Installation${NC}"
echo ""
echo -e "${WHITE}⚙️ Granulare Installation:${NC}"
echo -e "${WHITE}5. Backend installieren (Flask API + Web Interface)${NC}"
echo -e "${WHITE}6. Frontend installieren (Next.js)${NC}"
echo -e "${WHITE}7. Kiosk-Modus installieren (Backend Web Interface + Browser)${NC}"
echo -e "${WHITE}8. Produktions-Setup (Backend + Kiosk Web Interface)${NC}"
echo -e "${WHITE}7. System-Abhängigkeiten installieren${NC}"
echo ""
echo -e "${WHITE}🛠️ Entwicklung & Wartung:${NC}"
echo -e "${WHITE}9. Entwicklungs-Setup${NC}"
echo -e "${WHITE}10. System-Abhängigkeiten installieren${NC}"
echo -e "${WHITE}11. SSL-Zertifikate generieren${NC}"
echo -e "${WHITE}12. Logs anzeigen${NC}"
echo -e "${WHITE}13. Services verwalten${NC}"
echo -e "${WHITE}8. Entwicklungs-Setup${NC}"
echo -e "${WHITE}9. SSL-Zertifikate generieren${NC}"
echo -e "${WHITE}10. Logs anzeigen${NC}"
echo -e "${WHITE}11. Services verwalten${NC}"
echo ""
echo -e "${WHITE}0. Beenden${NC}"
echo ""
read -p "Wählen Sie eine Option (0-13): " choice
read -p "Wählen Sie eine Option (0-11): " choice
case $choice in
1)
show_server_specific_menu
install_kiosk_mode
;;
2)
install_full_setup
@@ -2449,24 +2393,18 @@ show_main_menu() {
install_frontend
;;
7)
install_kiosk_mode
;;
8)
install_production_setup
;;
9)
install_development_setup
;;
10)
install_system_dependencies
;;
11)
8)
install_development_setup
;;
9)
generate_ssl_certificates
;;
12)
10)
show_logs
;;
13)
11)
manage_services
;;
0)