Files
Projektarbeit-MYP/backend/install/install-kiosk.sh

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