"Update database files and scripts for Raspberry Pi installation"
This commit is contained in:
@@ -241,7 +241,7 @@ chown "$APP_USER:$APP_USER" "$APP_DIR/.env"
|
||||
|
||||
# Erstelle Kiosk-Skript (nach offizieller Anleitung)
|
||||
log "Erstelle Kiosk-Skript..."
|
||||
cat > "/home/$KIOSK_USER/kiosk.sh" << EOF
|
||||
cat > "$KIOSK_HOME/kiosk.sh" << EOF
|
||||
#!/bin/bash
|
||||
|
||||
# Warte auf System-Bereitschaft
|
||||
@@ -259,8 +259,8 @@ xset -dpms
|
||||
unclutter -idle 0.5 -root &
|
||||
|
||||
# Bereinige Chromium-Präferenzen (verhindert Crash-Warnungen)
|
||||
sed -i 's/"exited_cleanly":false/"exited_cleanly":true/' /home/$KIOSK_USER/.config/chromium/Default/Preferences 2>/dev/null || true
|
||||
sed -i 's/"exit_type":"Crashed"/"exit_type":"Normal"/' /home/$KIOSK_USER/.config/chromium/Default/Preferences 2>/dev/null || true
|
||||
sed -i 's/"exited_cleanly":false/"exited_cleanly":true/' $KIOSK_HOME/.config/chromium/Default/Preferences 2>/dev/null || true
|
||||
sed -i 's/"exit_type":"Crashed"/"exit_type":"Normal"/' $KIOSK_HOME/.config/chromium/Default/Preferences 2>/dev/null || true
|
||||
|
||||
# Warte auf Netzwerk und Anwendung
|
||||
while ! curl -s http://localhost > /dev/null; do
|
||||
@@ -304,12 +304,12 @@ done
|
||||
# done
|
||||
EOF
|
||||
|
||||
chmod +x "/home/$KIOSK_USER/kiosk.sh"
|
||||
chown "$KIOSK_USER:$KIOSK_USER" "/home/$KIOSK_USER/kiosk.sh"
|
||||
chmod +x "$KIOSK_HOME/kiosk.sh"
|
||||
chown "$KIOSK_USER:$KIOSK_USER" "$KIOSK_HOME/kiosk.sh"
|
||||
|
||||
# Konfiguriere LightDM für automatischen Login (nach offizieller Anleitung)
|
||||
log "Konfiguriere automatischen Login..."
|
||||
cat > "/etc/lightdm/lightdm.conf" << EOF
|
||||
cat > "$LIGHTDM_CONF" << EOF
|
||||
[Seat:*]
|
||||
autologin-user=$KIOSK_USER
|
||||
autologin-user-timeout=0
|
||||
@@ -319,17 +319,17 @@ EOF
|
||||
|
||||
# Erstelle Openbox-Konfiguration für Kiosk-Benutzer
|
||||
log "Konfiguriere Openbox für Kiosk-Modus..."
|
||||
mkdir -p "/home/$KIOSK_USER/.config/openbox"
|
||||
cat > "/home/$KIOSK_USER/.config/openbox/autostart" << EOF
|
||||
mkdir -p "$KIOSK_HOME/.config/openbox"
|
||||
cat > "$KIOSK_HOME/.config/openbox/autostart" << EOF
|
||||
# Starte Kiosk-Anwendung automatisch
|
||||
/home/$KIOSK_USER/kiosk.sh &
|
||||
$KIOSK_HOME/kiosk.sh &
|
||||
EOF
|
||||
|
||||
chown -R "$KIOSK_USER:$KIOSK_USER" "/home/$KIOSK_USER/.config"
|
||||
chown -R "$KIOSK_USER:$KIOSK_USER" "$KIOSK_HOME/.config"
|
||||
|
||||
# Erstelle Systemd-Service für die Anwendung
|
||||
log "Erstelle Systemd-Service für Anwendung..."
|
||||
cat > "/etc/systemd/system/$SERVICE_NAME.service" << EOF
|
||||
cat > "$SYSTEMD_DIR/$SERVICE_NAME.service" << EOF
|
||||
[Unit]
|
||||
Description=MYP Druckerverwaltung Flask Application
|
||||
After=network.target
|
||||
@@ -352,7 +352,7 @@ EOF
|
||||
|
||||
# Erstelle Systemd-Service für Kiosk (nach offizieller Anleitung)
|
||||
log "Erstelle Systemd-Service für Kiosk..."
|
||||
cat > "/etc/systemd/system/$KIOSK_SERVICE_NAME.service" << EOF
|
||||
cat > "$SYSTEMD_DIR/$KIOSK_SERVICE_NAME.service" << EOF
|
||||
[Unit]
|
||||
Description=MYP Chromium Kiosk
|
||||
Wants=graphical.target
|
||||
@@ -360,9 +360,9 @@ After=graphical.target $SERVICE_NAME.service
|
||||
|
||||
[Service]
|
||||
Environment=DISPLAY=:0.0
|
||||
Environment=XAUTHORITY=/home/$KIOSK_USER/.Xauthority
|
||||
Environment=XAUTHORITY=$KIOSK_HOME/.Xauthority
|
||||
Type=simple
|
||||
ExecStart=/bin/bash /home/$KIOSK_USER/kiosk.sh
|
||||
ExecStart=/bin/bash $KIOSK_HOME/kiosk.sh
|
||||
Restart=on-abort
|
||||
User=$KIOSK_USER
|
||||
Group=$KIOSK_USER
|
||||
@@ -373,7 +373,7 @@ EOF
|
||||
|
||||
# Nginx-Konfiguration
|
||||
log "Konfiguriere Nginx..."
|
||||
cat > "/etc/nginx/sites-available/myp-druckerverwaltung" << EOF
|
||||
cat > "$NGINX_SITES_AVAILABLE/myp-druckerverwaltung" << EOF
|
||||
server {
|
||||
listen 80 default_server;
|
||||
listen [::]:80 default_server;
|
||||
@@ -403,12 +403,12 @@ server {
|
||||
EOF
|
||||
|
||||
# Aktiviere Nginx-Site
|
||||
rm -f /etc/nginx/sites-enabled/default
|
||||
ln -sf /etc/nginx/sites-available/myp-druckerverwaltung /etc/nginx/sites-enabled/
|
||||
rm -f $NGINX_SITES_ENABLED/default
|
||||
ln -sf $NGINX_SITES_AVAILABLE/myp-druckerverwaltung $NGINX_SITES_ENABLED/
|
||||
|
||||
# Erstelle Wartungsskript
|
||||
log "Erstelle Wartungsskript..."
|
||||
cat > "/usr/local/bin/myp-maintenance" << 'EOF'
|
||||
cat > "$LOCAL_BIN/myp-maintenance" << 'EOF'
|
||||
#!/bin/bash
|
||||
|
||||
# MYP Druckerverwaltung Wartungsskript
|
||||
@@ -452,7 +452,7 @@ case "$1" in
|
||||
;;
|
||||
update)
|
||||
echo "Aktualisiere MYP Druckerverwaltung..."
|
||||
cd /opt/myp-druckerverwaltung
|
||||
cd $APP_DIR
|
||||
sudo -u myp git pull || echo "Git pull nicht möglich - lokale Installation"
|
||||
|
||||
# Aktualisiere Python-Dependencies
|
||||
@@ -481,50 +481,50 @@ case "$1" in
|
||||
esac
|
||||
EOF
|
||||
|
||||
chmod +x /usr/local/bin/myp-maintenance
|
||||
chmod +x $LOCAL_BIN/myp-maintenance
|
||||
|
||||
# Erstelle Backup-Skript
|
||||
log "Erstelle Backup-Skript..."
|
||||
cat > "/usr/local/bin/myp-backup" << 'EOF'
|
||||
cat > "$LOCAL_BIN/myp-backup" << EOF
|
||||
#!/bin/bash
|
||||
|
||||
BACKUP_DIR="/opt/myp-backups"
|
||||
DATE=$(date +%Y%m%d_%H%M%S)
|
||||
APP_DIR="/opt/myp-druckerverwaltung"
|
||||
BACKUP_DIR="$BACKUP_DIR"
|
||||
DATE=\$(date +%Y%m%d_%H%M%S)
|
||||
APP_DIR="$APP_DIR"
|
||||
|
||||
mkdir -p "$BACKUP_DIR"
|
||||
mkdir -p "\$BACKUP_DIR"
|
||||
|
||||
echo "Erstelle Backup: $DATE"
|
||||
echo "Erstelle Backup: \$DATE"
|
||||
|
||||
# Stoppe Anwendung
|
||||
systemctl stop myp-druckerverwaltung
|
||||
|
||||
# Erstelle Backup
|
||||
tar -czf "$BACKUP_DIR/myp_backup_$DATE.tar.gz" \
|
||||
-C "$APP_DIR" \
|
||||
--exclude='node_modules' \
|
||||
--exclude='__pycache__' \
|
||||
--exclude='venv' \
|
||||
database.db \
|
||||
.env \
|
||||
uploads/ \
|
||||
logs/ \
|
||||
config/ \
|
||||
tar -czf "\$BACKUP_DIR/myp_backup_\$DATE.tar.gz" \\
|
||||
-C "\$APP_DIR" \\
|
||||
--exclude='node_modules' \\
|
||||
--exclude='__pycache__' \\
|
||||
--exclude='venv' \\
|
||||
database.db \\
|
||||
.env \\
|
||||
uploads/ \\
|
||||
logs/ \\
|
||||
config/ \\
|
||||
2>/dev/null || true
|
||||
|
||||
# Starte Anwendung
|
||||
systemctl start myp-druckerverwaltung
|
||||
|
||||
echo "Backup erstellt: $BACKUP_DIR/myp_backup_$DATE.tar.gz"
|
||||
echo "Backup erstellt: \$BACKUP_DIR/myp_backup_\$DATE.tar.gz"
|
||||
|
||||
# Lösche alte Backups (älter als 30 Tage)
|
||||
find "$BACKUP_DIR" -name "myp_backup_*.tar.gz" -mtime +30 -delete
|
||||
find "\$BACKUP_DIR" -name "myp_backup_*.tar.gz" -mtime +30 -delete
|
||||
EOF
|
||||
|
||||
chmod +x /usr/local/bin/myp-backup
|
||||
chmod +x $LOCAL_BIN/myp-backup
|
||||
|
||||
# Erstelle Cron-Job für automatische Backups
|
||||
echo "0 2 * * * root /usr/local/bin/myp-backup" > /etc/cron.d/myp-backup
|
||||
echo "0 2 * * * root $LOCAL_BIN/myp-backup" > $CRON_DIR/myp-backup
|
||||
|
||||
# Aktiviere und starte Services
|
||||
log "Aktiviere und starte Services..."
|
||||
@@ -583,9 +583,9 @@ info " • Update: myp-maintenance update"
|
||||
info " • Backup erstellen: myp-backup"
|
||||
echo
|
||||
info "🔍 Zusätzliche Konfiguration:"
|
||||
info " • Kiosk-Skript: /home/$KIOSK_USER/kiosk.sh"
|
||||
info " • LightDM-Konfiguration: /etc/lightdm/lightdm.conf"
|
||||
info " • Openbox-Autostart: /home/$KIOSK_USER/.config/openbox/autostart"
|
||||
info " • Kiosk-Skript: $KIOSK_HOME/kiosk.sh"
|
||||
info " • LightDM-Konfiguration: $LIGHTDM_CONF"
|
||||
info " • Openbox-Autostart: $KIOSK_HOME/.config/openbox/autostart"
|
||||
info " • Anwendungslogs: journalctl -u myp-druckerverwaltung -f"
|
||||
info " • Kiosk-Logs: journalctl -u myp-kiosk -f"
|
||||
echo
|
||||
|
Reference in New Issue
Block a user