🐛 Refactor: Remove .gitignore, update documentation files, clean logs

This commit is contained in:
Till Tomczak 2025-06-03 21:55:13 +02:00
parent 4d5ae2cceb
commit 1f2be06183
5 changed files with 103 additions and 191 deletions

View File

@ -1,72 +1,72 @@
=================================================================
MYP Installation DEBUG Log - 2025-06-03 21:34:03
MYP Installation DEBUG Log - 2025-06-03 21:42:26
=================================================================
[2025-06-03 21:34:03] DEBUG von setup.sh:485
[2025-06-03 21:42:26] DEBUG von setup.sh:451
Debian erkannt über /etc/debian_version: 12.11
---
[2025-06-03 21:34:03] DEBUG von setup.sh:553
[2025-06-03 21:42:26] DEBUG von setup.sh:519
Kein Raspberry Pi erkannt. Hardware-Info:
---
[2025-06-03 21:34:03] DEBUG von setup.sh:554
[2025-06-03 21:42:26] DEBUG von setup.sh:520
- Device Tree: nicht verfügbar
---
[2025-06-03 21:34:03] DEBUG von setup.sh:555
[2025-06-03 21:42:26] DEBUG von setup.sh:521
- CPU Hardware: nicht verfügbar
---
[2025-06-03 21:34:03] DEBUG von setup.sh:595
[2025-06-03 21:42:26] DEBUG von setup.sh:561
Vollständige Kernel-Info: Linux raspberrypi 6.1.0-37-amd64 #1 SMP PREEMPT_DYNAMIC Debian 6.1.140-1 (2025-05-22) x86_64 GNU/Linux
---
[2025-06-03 21:34:03] DEBUG von setup.sh:651
[2025-06-03 21:42:26] DEBUG von setup.sh:617
DNS-Test Details: Teste DNS für 8.8.8.8: Erfolg mit nslookup.
---
[2025-06-03 21:34:04] DEBUG von setup.sh:752
[2025-06-03 21:42:27] DEBUG von setup.sh:718
Externe IP ermittelt über ifconfig.me: 163.116.179.142
---
[2025-06-03 21:34:22] DEBUG von setup.sh:1168
[2025-06-03 21:42:56] DEBUG von setup.sh:1134
sysctl-Konfiguration erstellt: /etc/sysctl.d/99-myp-security.conf
---
[2025-06-03 21:34:22] DEBUG von setup.sh:1224
[2025-06-03 21:42:56] DEBUG von setup.sh:1190
Sysctl-Phase abgeschlossen - fahre mit Installation fort
---
[2025-06-03 21:34:22] DEBUG von setup.sh:1250
[2025-06-03 21:42:56] DEBUG von setup.sh:1216
systemd-networkd nicht aktiv - überspringe
---
[2025-06-03 21:34:23] DEBUG von setup.sh:1276
[2025-06-03 21:42:56] DEBUG von setup.sh:1242
NetworkManager nicht aktiv - überspringe
---
[2025-06-03 21:34:23] DEBUG von setup.sh:1282
[2025-06-03 21:42:56] DEBUG von setup.sh:1248
IPv6 Einträge in /etc/hosts auskommentiert
---
[2025-06-03 21:34:23] DEBUG von setup.sh:1299
[2025-06-03 21:42:56] DEBUG von setup.sh:1265
Netzwerk-Sicherheit ohne Blockierung abgeschlossen
---
[2025-06-03 21:36:04] DEBUG von setup.sh:1605
[2025-06-03 21:44:44] DEBUG von setup.sh:1571
SSL-Verzeichnis erstellt: /usr/local/share/ca-certificates/myp
---
[2025-06-03 21:36:06] DEBUG von setup.sh:1713
[2025-06-03 21:44:48] DEBUG von setup.sh:1679
SSL-Konfiguration abgeschlossen ohne hängende Prozesse
---
[2025-06-03 21:36:07] DEBUG von setup.sh:998
[2025-06-03 21:44:49] DEBUG von setup.sh:964
flask erfolgreich importiert
---
[2025-06-03 21:36:08] DEBUG von setup.sh:998
[2025-06-03 21:44:49] DEBUG von setup.sh:964
requests erfolgreich importiert
---

View File

@ -1,4 +1,4 @@
=================================================================
MYP Installation FEHLER Log - 2025-06-03 21:34:03
MYP Installation FEHLER Log - 2025-06-03 21:42:26
=================================================================

View File

@ -1,4 +1,4 @@
=================================================================
MYP Installation WARNUNGEN Log - 2025-06-03 21:34:03
MYP Installation WARNUNGEN Log - 2025-06-03 21:42:26
=================================================================

View File

@ -1,25 +1,25 @@
=================================================================
MYP Installation Log - 2025-06-03 21:34:03
MYP Installation Log - 2025-06-03 21:42:26
Script Version: 4.1.0
System: Linux raspberrypi 6.1.0-37-amd64 #1 SMP PREEMPT_DYNAMIC Debian 6.1.140-1 (2025-05-22) x86_64 GNU/Linux
=================================================================
[2025-06-03 21:34:03] === MODUS: ROBUSTE ABHÄNGIGKEITEN-INSTALLATION FÜR MANUELLES TESTEN ===
[2025-06-03 21:34:03] ✅ Root-Berechtigung bestätigt
[2025-06-03 21:34:03] === SYSTEM-RESSOURCEN PRÜFUNG ===
[2025-06-03 21:42:26] === MODUS: ROBUSTE ABHÄNGIGKEITEN-INSTALLATION FÜR MANUELLES TESTEN ===
[2025-06-03 21:42:26] ✅ Root-Berechtigung bestätigt
[2025-06-03 21:42:26] === SYSTEM-RESSOURCEN PRÜFUNG ===
[FORTSCHRITT] Prüfe RAM...
[FORTSCHRITT] Verfügbarer RAM: 15614MB
[ERFOLG] ✅ Ausreichend RAM verfügbar (15614MB)
[FORTSCHRITT] Prüfe Festplattenplatz...
[FORTSCHRITT] Verfügbarer Festplattenplatz: 12,2GB (12473MB)
[FORTSCHRITT] Verfügbarer Festplattenplatz: 12,2GB (12472MB)
[ERFOLG] ✅ Ausreichend Festplattenplatz verfügbar (12,2GB)
[FORTSCHRITT] Prüfe CPU...
[FORTSCHRITT] CPU: 6 Kern(e) - 11th Gen Intel(R) Core(TM) i7-11850H @ 2.50GHz
[ERFOLG] ✅ CPU-Information erfolgreich ermittelt
[2025-06-03 21:34:03] ✅ System-Ressourcen-Prüfung abgeschlossen
[2025-06-03 21:42:26] ✅ System-Ressourcen-Prüfung abgeschlossen
[FORTSCHRITT] Prüfe Debian/Raspbian-System...
[DEBUG] Debian erkannt über /etc/debian_version: 12.11
[2025-06-03 21:34:03] ✅ Debian/Raspbian-basiertes System erkannt (Version: 12.11)
[2025-06-03 21:42:26] ✅ Debian/Raspbian-basiertes System erkannt (Version: 12.11)
[FORTSCHRITT] Prüfe Raspberry Pi Hardware...
[INFO] 💻 Standard-PC/Server System (kein Raspberry Pi)
[DEBUG] Kein Raspberry Pi erkannt. Hardware-Info:
@ -31,7 +31,7 @@ System: Linux raspberrypi 6.1.0-37-amd64 #1 SMP PREEMPT_DYNAMIC Debian 6.1.140-1
[FORTSCHRITT] Prüfe Kernel-Version...
[INFO] 🐧 Kernel-Version: 6.1.0-37-amd64
[DEBUG] Vollständige Kernel-Info: Linux raspberrypi 6.1.0-37-amd64 #1 SMP PREEMPT_DYNAMIC Debian 6.1.140-1 (2025-05-22) x86_64 GNU/Linux
[2025-06-03 21:34:03] ✅ System-Analyse abgeschlossen
[2025-06-03 21:42:26] ✅ System-Analyse abgeschlossen
[FORTSCHRITT] Prüfe Internetverbindung (erweiterte Methoden)...
[FORTSCHRITT] Teste DNS-Auflösung...
[DEBUG] DNS-Test Details: Teste DNS für 8.8.8.8: Erfolg mit nslookup. 
@ -40,13 +40,13 @@ System: Linux raspberrypi 6.1.0-37-amd64 #1 SMP PREEMPT_DYNAMIC Debian 6.1.140-1
[FORTSCHRITT] Ermittle externe IP-Adresse...
[INFO] 🌐 Externe IP: 163.116.179.142
[DEBUG] Externe IP ermittelt über ifconfig.me: 163.116.179.142
[2025-06-03 21:34:04] === KONFIGURIERE HOSTNAME ===
[2025-06-03 21:34:04] ✅ Hostname bereits korrekt: 'raspberrypi'
[2025-06-03 21:34:14] ✅ Hostname-Auflösung funktioniert: raspberrypi -> 127.0.1.1
[2025-06-03 21:34:14] === ROBUSTE SYSTEM-UPDATE ===
[2025-06-03 21:42:27] === KONFIGURIERE HOSTNAME ===
[2025-06-03 21:42:27] ✅ Hostname bereits korrekt: 'raspberrypi'
[2025-06-03 21:42:48] ✅ Hostname-Auflösung funktioniert: raspberrypi -> 127.0.1.1
[2025-06-03 21:42:48] === ROBUSTE SYSTEM-UPDATE ===
[FORTSCHRITT] Konfiguriere APT für bessere Zuverlässigkeit...
[FORTSCHRITT] Validiere APT-Repositories...
[2025-06-03 21:34:14] ✅ Source-Repositories deaktiviert (nicht benötigt)
[2025-06-03 21:42:48] ✅ Source-Repositories deaktiviert (nicht benötigt)
[FORTSCHRITT] Aktualisiere Paketlisten mit Retry...
[FORTSCHRITT] Führe System-Upgrade durch...
[FORTSCHRITT] Installiere essenzielle System-Tools...
@ -68,8 +68,8 @@ System: Linux raspberrypi 6.1.0-37-amd64 #1 SMP PREEMPT_DYNAMIC Debian 6.1.140-1
[FORTSCHRITT] Installiere Pakete: dbus
[FORTSCHRITT] Installiere Pakete: systemd-timesyncd
[FORTSCHRITT] Synchronisiere Systemzeit...
[2025-06-03 21:34:22] ✅ Robustes System-Update abgeschlossen
[2025-06-03 21:34:22] === KONFIGURIERE OPTIONALE NETZWERK-SICHERHEIT ===
[2025-06-03 21:42:56] ✅ Robustes System-Update abgeschlossen
[2025-06-03 21:42:56] === KONFIGURIERE OPTIONALE NETZWERK-SICHERHEIT ===
[FORTSCHRITT] Deaktiviere IPv6 (robust)...
[FORTSCHRITT] Deaktiviere IPv6 in GRUB...
[INFO] IPv6 bereits in GRUB deaktiviert
@ -83,15 +83,15 @@ System: Linux raspberrypi 6.1.0-37-amd64 #1 SMP PREEMPT_DYNAMIC Debian 6.1.140-1
[DEBUG] systemd-networkd nicht aktiv - überspringe
[DEBUG] NetworkManager nicht aktiv - überspringe
[DEBUG] IPv6 Einträge in /etc/hosts auskommentiert
[2025-06-03 21:34:23] ✅ Optionale Netzwerk-Sicherheit konfiguriert:
[2025-06-03 21:34:23] 📝 Sysctl-Konfiguration erstellt: /etc/sysctl.d/99-myp-security.conf
[2025-06-03 21:34:23] ⚙️ Einstellungen werden beim nächsten Boot aktiv
[2025-06-03 21:34:23] 🔧 Netzwerk-Konfiguration vorbereitet
[2025-06-03 21:42:56] ✅ Optionale Netzwerk-Sicherheit konfiguriert:
[2025-06-03 21:42:56] 📝 Sysctl-Konfiguration erstellt: /etc/sysctl.d/99-myp-security.conf
[2025-06-03 21:42:56] ⚙️ Einstellungen werden beim nächsten Boot aktiv
[2025-06-03 21:42:56] 🔧 Netzwerk-Konfiguration vorbereitet
[INFO] 💡 Tipp: Netzwerk-Sicherheit kann manuell aktiviert werden:
[INFO] → sudo sysctl -p /etc/sysctl.d/99-myp-security.conf
[INFO] → Oder automatisch beim nächsten Neustart
[DEBUG] Netzwerk-Sicherheit ohne Blockierung abgeschlossen
[2025-06-03 21:34:23] === ROBUSTE PYTHON-INSTALLATION ===
[2025-06-03 21:42:56] === ROBUSTE PYTHON-INSTALLATION ===
[FORTSCHRITT] Installiere Python 3 und Build-Abhängigkeiten...
[FORTSCHRITT] Installiere Pakete: python3
[FORTSCHRITT] Installiere Pakete: python3-pip
@ -110,26 +110,26 @@ System: Linux raspberrypi 6.1.0-37-amd64 #1 SMP PREEMPT_DYNAMIC Debian 6.1.140-1
[FORTSCHRITT] Installiere Pakete: zlib1g-dev
[FORTSCHRITT] Installiere Pakete: sqlite3
[FORTSCHRITT] Validiere Python-Installation...
[2025-06-03 21:34:28] ✅ Python Version: 3.11.2
[2025-06-03 21:43:02] ✅ Python Version: 3.11.2
[FORTSCHRITT] Konfiguriere pip für bessere Zuverlässigkeit...
[FORTSCHRITT] Erstelle systemweite pip-Konfiguration...
[FORTSCHRITT] Konfiguriere pip für alle Benutzer...
[2025-06-03 21:34:28] ✅ pip konfiguriert für Benutzer: user
[2025-06-03 21:43:02] ✅ pip konfiguriert für Benutzer: user
[FORTSCHRITT] Aktualisiere pip mit Retry...
[2025-06-03 21:34:29] ✅ pip Version: 25.1.1
[2025-06-03 21:34:29] ✅ Robuste Python-Umgebung installiert
[2025-06-03 21:34:29] === ROBUSTE NODE.JS UND NPM INSTALLATION ===
[2025-06-03 21:43:03] ✅ pip Version: 25.1.1
[2025-06-03 21:43:03] ✅ Robuste Python-Umgebung installiert
[2025-06-03 21:43:03] === ROBUSTE NODE.JS UND NPM INSTALLATION ===
[FORTSCHRITT] Bereinige alte Node.js-Installationen...
[FORTSCHRITT] Installiere Node.js mit Fallback-Strategie...
[FORTSCHRITT] Verwende Debian Repository als Fallback...
[FORTSCHRITT] Installiere Pakete: nodejs npm
[2025-06-03 21:36:00] ✅ Node.js via Debian Repository installiert
[2025-06-03 21:44:37] ✅ Node.js via Debian Repository installiert
[FORTSCHRITT] Validiere Node.js Installation...
[2025-06-03 21:36:00] ✅ Node.js Version: v18.19.0
[2025-06-03 21:36:01] ✅ npm Version: 9.2.0
[2025-06-03 21:44:37] ✅ Node.js Version: v18.19.0
[2025-06-03 21:44:38] ✅ npm Version: 9.2.0
[FORTSCHRITT] Optimiere npm-Konfiguration...
[2025-06-03 21:36:02] ✅ Node.js und npm erfolgreich installiert
[2025-06-03 21:36:02] === TIMEOUT-GESICHERTE SSL-ZERTIFIKATE KONFIGURATION ===
[2025-06-03 21:44:42] ✅ Node.js und npm erfolgreich installiert
[2025-06-03 21:44:42] === TIMEOUT-GESICHERTE SSL-ZERTIFIKATE KONFIGURATION ===
[FORTSCHRITT] Installiere SSL-Grundkomponenten...
[FORTSCHRITT] Installiere Pakete: ca-certificates openssl
[FORTSCHRITT] Aktualisiere CA-Zertifikate (timeout-gesichert)...
@ -140,11 +140,11 @@ System: Linux raspberrypi 6.1.0-37-amd64 #1 SMP PREEMPT_DYNAMIC Debian 6.1.140-1
[ERFOLG] ✅ Mercedes-Zertifikate erfolgreich in CA-Store integriert
[FORTSCHRITT] Konfiguriere SSL-Umgebungsvariablen...
[FORTSCHRITT] Validiere SSL-Konfiguration...
[2025-06-03 21:36:06] ✅ SSL-Zertifikate verfügbar: 144 CA-Zertifikate
[2025-06-03 21:44:47] ✅ SSL-Zertifikate verfügbar: 144 CA-Zertifikate
[FORTSCHRITT] Finalisiere SSL-Konfiguration...
[2025-06-03 21:36:06] ✅ SSL-Zertifikate timeout-gesichert konfiguriert
[2025-06-03 21:44:48] ✅ SSL-Zertifikate timeout-gesichert konfiguriert
[DEBUG] SSL-Konfiguration abgeschlossen ohne hängende Prozesse
[2025-06-03 21:36:06] === PYTHON-PAKETE INSTALLATION ===
[2025-06-03 21:44:48] === PYTHON-PAKETE INSTALLATION ===
[FORTSCHRITT] Installiere Python-Pakete...
[FORTSCHRITT] Installiere requirements.txt...
[ERFOLG] ✅ requirements.txt erfolgreich installiert
@ -152,9 +152,9 @@ System: Linux raspberrypi 6.1.0-37-amd64 #1 SMP PREEMPT_DYNAMIC Debian 6.1.140-1
[DEBUG] flask erfolgreich importiert
[DEBUG] requests erfolgreich importiert
[ERFOLG] ✅ Essenzielle Python-Module verfügbar
[2025-06-03 21:36:08] ✅ Python-Pakete Installation abgeschlossen
[2025-06-03 21:44:49] ✅ Python-Pakete Installation abgeschlossen
[FORTSCHRITT] Zeige installierte Python-Pakete...
[2025-06-03 21:36:08] === ROBUSTES ANWENDUNGS-DEPLOYMENT ===
[2025-06-03 21:44:50] === ROBUSTES ANWENDUNGS-DEPLOYMENT ===
[FORTSCHRITT] Erstelle sicheres Zielverzeichnis: /opt/myp
[FORTSCHRITT] Validiere Source-Dateien...
[FORTSCHRITT] Kopiere Anwendungsdateien (robust)...
@ -190,6 +190,11 @@ System: Linux raspberrypi 6.1.0-37-amd64 #1 SMP PREEMPT_DYNAMIC Debian 6.1.140-1
[FORTSCHRITT] Erstelle Verzeichnisstruktur...
[FORTSCHRITT] Setze sichere Berechtigungen...
[FORTSCHRITT] Konfiguriere robuste Python-Umgebung...
[2025-06-03 21:36:18] ✅ Python-Pfad konfiguriert: /usr/local/lib/python3.11/dist-packages/myp-app.pth
[2025-06-03 21:45:01] ✅ Python-Pfad konfiguriert: /usr/local/lib/python3.11/dist-packages/myp-app.pth
[FORTSCHRITT] Konfiguriere Umgebungsvariablen...
[FORTSCHRITT] Aktualisiere Bash-Profile...
[FORTSCHRITT] Versuche Bash-Profile zu aktualisieren (optional)...
[FORTSCHRITT] Validiere Application Deployment...
[ERFOLG] ✅ Application Deployment vollständig validiert
[2025-06-03 21:45:01] ✅ Robustes Anwendungs-Deployment abgeschlossen
[2025-06-03 21:45:01] 📁 App-Verzeichnis: /opt/myp
[2025-06-03 21:45:01] 🐍 Python-Pfad konfiguriert

View File

@ -11,41 +11,7 @@
set -euo pipefail
# =========================== KOMMANDOZEILEN-PARAMETER =======================
# Erkenne Skip-Parameter
SKIP_BASH_PROFILE=false
SKIP_SYSTEMD=false
SKIP_KIOSK=false
for arg in "$@"; do
case $arg in
--skip-bash-profile)
SKIP_BASH_PROFILE=true
;;
--skip-systemd)
SKIP_SYSTEMD=true
;;
--skip-kiosk)
SKIP_KIOSK=true
;;
--wsl|--dev)
# WSL/Development-Modus: Überspringe systemspezifische Schritte
SKIP_BASH_PROFILE=true
SKIP_SYSTEMD=true
SKIP_KIOSK=true
echo "WSL/Development-Modus aktiviert - systemspezifische Schritte werden übersprungen"
;;
--help|-h)
echo "MYP Setup-Skript - Optionen:"
echo " --skip-bash-profile Überspringe Bash-Profile Updates"
echo " --skip-systemd Überspringe Systemd-Service Installation"
echo " --skip-kiosk Überspringe Kiosk-Modus Konfiguration"
echo " --wsl, --dev WSL/Development-Modus (überspringt alle systemspezifischen Schritte)"
echo " --help, -h Zeige diese Hilfe"
exit 0
;;
esac
done
# =========================== GLOBALE KONFIGURATION ===========================
readonly APP_NAME="MYP Druckerverwaltung"
@ -1874,102 +1840,40 @@ FLASK_APP=$APP_DIR/app.py
FLASK_ENV=production
EOF
# Bash-Profile für alle User aktualisieren (robust)
if [ "$SKIP_BASH_PROFILE" = true ]; then
log "⏭️ Bash-Profile Update übersprungen (--skip-bash-profile oder --wsl/--dev)"
return
fi
# Bash-Profile Updates (optional - überspringen bei Problemen)
progress "Versuche Bash-Profile zu aktualisieren (optional)..."
progress "Aktualisiere Bash-Profile..."
local profile_updated=0
# Führe Updates nur in einem Subshell mit Timeout aus
(
# Setze eine maximale Laufzeit von 10 Sekunden für alle Bash-Profile Updates
export BASH_PROFILE_TIMEOUT=10
# WSL-Erkennung
local is_wsl=false
if grep -qEi "(Microsoft|WSL)" /proc/version 2>/dev/null || [ -n "${WSL_DISTRO_NAME:-}" ]; then
is_wsl=true
debug "WSL-Umgebung erkannt - verwende angepasste Bash-Profile-Logik"
fi
# Starte einen Background-Timer
(sleep $BASH_PROFILE_TIMEOUT && kill -TERM $$ 2>/dev/null) &
local timer_pid=$!
# Definiere die zu prüfenden Verzeichnisse basierend auf der Umgebung
local home_dirs=()
if [ "$is_wsl" = true ]; then
# In WSL nur das aktuelle Benutzerverzeichnis verwenden
if [ -n "${HOME:-}" ] && [ -d "$HOME" ]; then
home_dirs=("$HOME")
fi
# Füge /root nur hinzu wenn wir als root laufen
if [ "$(id -u)" = "0" ] && [ -d "/root" ] && [ -w "/root" ]; then
home_dirs+=("/root")
fi
else
# Standard-Verhalten für echtes Linux
home_dirs=("/root")
# Füge nur existierende Home-Verzeichnisse hinzu (max 5)
local count=0
for user_home in /home/*; do
if [ -d "$user_home" ] && [ "$user_home" != "/home/lost+found" ]; then
home_dirs+=("$user_home")
((count++))
if [ $count -ge 5 ]; then
debug "Limitiere auf 5 Home-Verzeichnisse"
break
fi
# Nur /root/.bashrc aktualisieren (schnell und sicher)
if [ -f "/root/.bashrc" ] && [ -w "/root/.bashrc" ]; then
if ! grep -q "MYP Application Environment" "/root/.bashrc" 2>/dev/null; then
echo "" >> "/root/.bashrc"
echo "# MYP Application Environment" >> "/root/.bashrc"
echo 'if [ -d "/opt/myp" ]; then' >> "/root/.bashrc"
echo ' export MYP_APP_DIR="/opt/myp"' >> "/root/.bashrc"
echo ' export FLASK_APP="/opt/myp/app.py"' >> "/root/.bashrc"
echo ' export FLASK_ENV="production"' >> "/root/.bashrc"
echo ' export PYTHONPATH="/opt/myp:${PYTHONPATH:-}"' >> "/root/.bashrc"
echo 'fi' >> "/root/.bashrc"
log "✅ Root Bash-Profile aktualisiert"
fi
done
fi
debug "Aktualisiere Bash-Profile für ${#home_dirs[@]} Verzeichnisse"
# Aktualisiere Bash-Profile (vereinfacht)
for user_home in "${home_dirs[@]}"; do
if [ -d "$user_home" ] && [ -w "$user_home" ]; then
local bashrc_file="$user_home/.bashrc"
# Prüfe ob .bashrc existiert
if [ -f "$bashrc_file" ]; then
# Prüfe ob bereits konfiguriert (ohne timeout)
if grep -q "MYP Application Environment" "$bashrc_file" 2>/dev/null; then
debug "Bash-Profile bereits konfiguriert: $bashrc_file"
else
# Erstelle temporäre Datei mit dem Inhalt
local temp_file="/tmp/myp_bashrc_addition_$$"
cat > "$temp_file" << 'EOF'
# MYP Application Environment
if [ -d "/opt/myp" ]; then
export MYP_APP_DIR="/opt/myp"
export FLASK_APP="/opt/myp/app.py"
export FLASK_ENV="production"
if [ -z "${PYTHONPATH:-}" ]; then
export PYTHONPATH="/opt/myp"
else
export PYTHONPATH="/opt/myp:$PYTHONPATH"
fi
fi
EOF
# Füge Inhalt hinzu
if cat "$temp_file" >> "$bashrc_file" 2>/dev/null; then
((profile_updated++))
log "✅ Bash-Profile aktualisiert: $bashrc_file"
else
warning "⚠️ Konnte Bash-Profile nicht aktualisieren: $bashrc_file"
fi
# Aufräumen
rm -f "$temp_file" 2>/dev/null || true
fi
else
debug ".bashrc existiert nicht: $bashrc_file"
fi
else
debug "Verzeichnis nicht schreibbar: $user_home"
fi
done
if [ $profile_updated -eq 0 ] && [ "$is_wsl" = false ]; then
warning "⚠️ Keine Bash-Profile wurden aktualisiert"
fi
# Timer beenden
kill $timer_pid 2>/dev/null || true
) 2>/dev/null || {
warning "⚠️ Bash-Profile Update übersprungen (Timeout oder Fehler)"
debug "Bash-Profile Updates sind optional - Installation wird fortgesetzt"
}
# Validiere Deployment
progress "Validiere Application Deployment..."
@ -2059,15 +1963,18 @@ generate_ssl_certificate() {
install_systemd_services() {
log "=== ROBUSTE SYSTEMD-SERVICES INSTALLATION ==="
# Skip wenn Parameter gesetzt
if [ "$SKIP_SYSTEMD" = true ]; then
log "⏭️ Systemd-Service Installation übersprungen (--skip-systemd oder --wsl/--dev)"
# Prüfe ob systemd verfügbar ist
if ! command -v systemctl >/dev/null 2>&1; then
warning "⚠️ systemctl nicht gefunden - überspringe Service-Installation"
info " → System läuft möglicherweise ohne systemd (WSL, Docker, etc.)"
return
fi
# Validiere systemd-Verzeichnis
if [ ! -d "$SYSTEMD_DIR" ]; then
error "systemd-Verzeichnis nicht gefunden: $SYSTEMD_DIR"
warning "⚠️ systemd-Verzeichnis nicht gefunden: $SYSTEMD_DIR"
info " → Überspringe Service-Installation"
return
fi
progress "Validiere und kopiere Service-Dateien..."
@ -2147,9 +2054,9 @@ install_systemd_services() {
enable_and_start_services() {
log "=== ROBUSTE SERVICES AKTIVIERUNG UND START ==="
# Skip wenn Parameter gesetzt
if [ "$SKIP_SYSTEMD" = true ]; then
log "⏭️ Service-Aktivierung übersprungen (--skip-systemd oder --wsl/--dev)"
# Prüfe ob systemd verfügbar ist
if ! command -v systemctl >/dev/null 2>&1; then
warning "⚠️ systemctl nicht gefunden - überspringe Service-Aktivierung"
return
fi