🎉 Improved IHK Project Documentation and Logs for smoother installation process 🎨
This commit is contained in:
@@ -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
|
||||
|
Reference in New Issue
Block a user