🎉 Improved IHK Project Documentation and Logs for smoother installation process 🎨

This commit is contained in:
2025-06-03 22:26:24 +02:00
parent d92f4e0cc4
commit db593d0b82
5 changed files with 118 additions and 63 deletions

View File

@@ -24,10 +24,11 @@ readonly WATCHDOG_PYTHON_SERVICE_NAME="kiosk-watchdog-python"
readonly FIREWALL_SERVICE_NAME="myp-firewall"
readonly KIOSK_USER="kiosk"
readonly CURRENT_DIR="$(pwd)"
readonly INSTALL_LOG="logs/myp-install.log"
readonly ERROR_LOG="logs/myp-install-errors.log"
readonly WARNING_LOG="logs/myp-install-warnings.log"
readonly DEBUG_LOG="logs/myp-install-debug.log"
# Log-Dateien (nicht readonly, damit wir Fallback nutzen können)
INSTALL_LOG="logs/myp-install.log"
ERROR_LOG="logs/myp-install-errors.log"
WARNING_LOG="logs/myp-install-warnings.log"
DEBUG_LOG="logs/myp-install-debug.log"
readonly HTTPS_PORT="443"
readonly HTTPS_URL="https://localhost:${HTTPS_PORT}"
readonly SYSTEMD_DIR="$CURRENT_DIR/systemd"
@@ -53,8 +54,35 @@ WARNING_COUNT=0
# Log-Dateien initialisieren
init_logging() {
# Erstelle logs-Verzeichnis falls nötig
mkdir -p "logs" 2>/dev/null || true
# Versuche logs-Verzeichnis in verschiedenen Locations zu erstellen
local log_dir_created=false
# Versuch 1: Im aktuellen Arbeitsverzeichnis
if mkdir -p "logs" 2>/dev/null; then
log_dir_created=true
fi
# Versuch 2: Im CURRENT_DIR (falls gesetzt und verschieden)
if [ "$log_dir_created" = false ] && [ -n "$CURRENT_DIR" ] && [ "$CURRENT_DIR" != "$(pwd)" ]; then
if mkdir -p "$CURRENT_DIR/logs" 2>/dev/null; then
log_dir_created=true
# Aktualisiere Pfade
INSTALL_LOG="$CURRENT_DIR/logs/myp-install.log"
ERROR_LOG="$CURRENT_DIR/logs/myp-install-errors.log"
WARNING_LOG="$CURRENT_DIR/logs/myp-install-warnings.log"
DEBUG_LOG="$CURRENT_DIR/logs/myp-install-debug.log"
fi
fi
# Versuch 3: Fallback auf /tmp
if [ "$log_dir_created" = false ] || [ ! -w "logs" -a ! -w "$CURRENT_DIR/logs" ]; then
# Fallback auf /tmp wenn logs nicht schreibbar
export INSTALL_LOG="/tmp/myp-install.log"
export ERROR_LOG="/tmp/myp-install-errors.log"
export WARNING_LOG="/tmp/myp-install-warnings.log"
export DEBUG_LOG="/tmp/myp-install-debug.log"
echo "WARNUNG: logs-Verzeichnis nicht erstellbar, verwende /tmp" >&2
fi
# Initialisiere alle Log-Dateien
{
@@ -2445,6 +2473,9 @@ show_menu() {
# =========================== INSTALLATIONS-MODI ===========================
install_dependencies_only() {
# Erstelle logs-Verzeichnis SOFORT
mkdir -p "$CURRENT_DIR/logs" 2>/dev/null || mkdir -p "logs" 2>/dev/null || true
# Logging initialisieren
init_logging
@@ -2535,6 +2566,9 @@ install_dependencies_only() {
}
install_full_production_system() {
# Erstelle logs-Verzeichnis SOFORT
mkdir -p "$CURRENT_DIR/logs" 2>/dev/null || mkdir -p "logs" 2>/dev/null || true
# Logging initialisieren
init_logging
@@ -2575,7 +2609,13 @@ install_full_production_system() {
# Performance-Optimierungen für Raspberry Pi Webapp
optimize_webapp_performance
optimize_static_assets
# Static Assets nur optimieren wenn App deployed wurde
if [ -d "$APP_DIR" ] && [ -d "$APP_DIR/static" ]; then
optimize_static_assets
else
info "⏭️ Static Asset Optimierung übersprungen - App noch nicht deployed"
fi
# Remote-Zugang konfigurieren (robust)
install_remote_access
@@ -3336,14 +3376,27 @@ EOF
optimize_static_assets() {
log "=== STATISCHE DATEIEN OPTIMIERUNG ==="
# Stelle sicher, dass APP_DIR existiert
if [ -z "$APP_DIR" ] || [ ! -d "$APP_DIR" ]; then
warning "⚠️ APP_DIR nicht definiert oder nicht vorhanden - überspringe Asset-Optimierung"
return
fi
if [ ! -d "$APP_DIR/static" ]; then
warning "Static-Ordner nicht gefunden - überspringe Asset-Optimierung"
warning "⚠️ Static-Ordner nicht gefunden: $APP_DIR/static - überspringe Asset-Optimierung"
return
fi
progress "Analysiere und optimiere CSS/JS Dateien..."
cd "$APP_DIR/static"
# Speichere aktuelles Verzeichnis
local original_dir=$(pwd)
# Wechsle zu static Verzeichnis
cd "$APP_DIR/static" 2>/dev/null || {
warning "⚠️ Konnte nicht zu $APP_DIR/static wechseln"
return
}
# Erstelle optimierte CSS-Datei durch Kombination kritischer Styles
progress "Erstelle optimierte CSS-Kombination..."
@@ -3413,7 +3466,8 @@ EOF
fi
done
cd "$CURRENT_DIR"
# Zurück zum Original-Verzeichnis
cd "$original_dir" 2>/dev/null || cd "$CURRENT_DIR" 2>/dev/null || true
log "✅ Statische Dateien optimiert:"
log " 📦 Kritische CSS-Styles kombiniert"
@@ -3424,8 +3478,14 @@ EOF
# =========================== HAUPTPROGRAMM ===========================
main() {
# Stelle sicher, dass wir im richtigen Verzeichnis sind
cd "$CURRENT_DIR" 2>/dev/null || true
# Erstelle logs-Verzeichnis im aktuellen Projektverzeichnis
mkdir -p "logs" 2>/dev/null || true
mkdir -p "$CURRENT_DIR/logs" 2>/dev/null || {
# Fallback: Erstelle logs im aktuellen Verzeichnis
mkdir -p "logs" 2>/dev/null || true
}
while true; do
show_menu