83 lines
2.2 KiB
Bash
83 lines
2.2 KiB
Bash
#!/bin/bash
|
|
|
|
# MYP Kiosk Installation - Einfach und direkt
|
|
# Installiert Backend + Kiosk-Modus ohne venv oder nginx
|
|
|
|
set -e
|
|
|
|
echo "=== MYP Kiosk Installation ==="
|
|
|
|
# Prüfe Root-Rechte
|
|
if [[ $EUID -ne 0 ]]; then
|
|
echo "FEHLER: Dieses Skript muss als root ausgeführt werden"
|
|
exit 1
|
|
fi
|
|
|
|
# Installiere benötigte Pakete
|
|
echo "Installiere Pakete..."
|
|
apt update
|
|
apt install -y python3.11 python3-pip chromium-browser lightdm openbox curl
|
|
|
|
# Erstelle Verzeichnisse
|
|
echo "Erstelle Verzeichnisse..."
|
|
mkdir -p /home/user/.config/openbox
|
|
|
|
# Prüfe Backend-Code im aktuellen Verzeichnis
|
|
echo "Prüfe Backend-Code..."
|
|
if [ ! -d "../app" ]; then
|
|
echo "FEHLER: Backend-App-Verzeichnis nicht gefunden: ../app"
|
|
exit 1
|
|
fi
|
|
|
|
if [ ! -f "../requirements.txt" ]; then
|
|
echo "FEHLER: requirements.txt nicht gefunden: ../requirements.txt"
|
|
exit 1
|
|
fi
|
|
|
|
# Setze Berechtigungen für Backend-Code (im aktuellen Verzeichnis)
|
|
echo "Setze Backend-Berechtigungen..."
|
|
chmod -R 755 ../app
|
|
[ -f "../app/app.py" ] && chmod +x ../app/app.py
|
|
|
|
# Installiere Python-Abhängigkeiten global
|
|
echo "Installiere Python-Abhängigkeiten..."
|
|
cd ..
|
|
pip3 install --break-system-packages -r requirements.txt
|
|
|
|
# Setze finale Berechtigungen
|
|
echo "Setze Benutzer-Berechtigungen..."
|
|
chown -R user:user /home/user
|
|
|
|
# Installiere Services
|
|
echo "Installiere Services..."
|
|
chmod 644 myp-backend.service
|
|
chmod 644 myp-kiosk.service
|
|
cp myp-backend.service /etc/systemd/system/
|
|
cp myp-kiosk.service /etc/systemd/system/
|
|
systemctl daemon-reload
|
|
systemctl enable myp-backend.service
|
|
systemctl enable myp-kiosk.service
|
|
|
|
# Konfiguriere automatischen Login
|
|
echo "Konfiguriere automatischen Login..."
|
|
cat > /etc/lightdm/lightdm.conf.d/10-autologin.conf << EOF
|
|
[Seat:*]
|
|
autologin-user=user
|
|
autologin-user-timeout=0
|
|
user-session=openbox
|
|
EOF
|
|
|
|
# Konfiguriere Openbox für Kiosk-Start
|
|
echo "Konfiguriere Openbox..."
|
|
cat > /home/user/.config/openbox/autostart << EOF
|
|
# Starte Kiosk-Service automatisch
|
|
systemctl --user start myp-kiosk.service &
|
|
EOF
|
|
|
|
chmod 755 /home/user/.config/openbox/autostart
|
|
chown user:user /home/user/.config/openbox/autostart
|
|
|
|
echo "=== Installation abgeschlossen ==="
|
|
echo "System wird in 5 Sekunden neu gestartet..."
|
|
sleep 5
|
|
reboot |