Adhaan/pi-setup.sh
filoor 9ab03546d6 feat(raspberry-pi): voeg setup voor Adhaan Raspberry Pi kiosk toe
Deze commit introduceert een volledige installatiehandleiding en scripts voor het instellen van de Adhaan applicatie in fullscreen kioskmodus op een Raspberry Pi. Inclusief nieuwe bestanden voor automatische installatie, Docker configuraties, en aanpassing van instellingen. Hierdoor wordt de installatie gemakkelijker en efficiënter, met automatische configuratie van systeemdiensten en kiosk start-up.
2025-05-27 17:01:01 +02:00

133 lines
3.7 KiB
Bash

#!/bin/bash
echo "🍓 Adhaan Raspberry Pi Kiosk Setup"
echo "=================================="
# Update systeem
echo "📦 Systeem bijwerken..."
sudo apt update -y
sudo apt upgrade -y
# Installeer Docker
echo "🐳 Docker installeren..."
curl -fsSL https://get.docker.com -o get-docker.sh
sudo sh get-docker.sh
sudo usermod -aG docker $USER
rm get-docker.sh
# Installeer Docker Compose
echo "🔧 Docker Compose installeren..."
sudo apt install -y docker-compose
# Installeer GUI componenten voor kiosk mode
echo "🖥️ GUI componenten installeren..."
sudo apt install -y --no-install-recommends \
xserver-xorg \
x11-xserver-utils \
xinit \
openbox \
chromium-browser \
unclutter
# Maak kiosk script
echo "📝 Kiosk script aanmaken..."
cat > /home/$USER/kiosk.sh << 'EOF'
#!/bin/bash
sleep 5
/usr/bin/chromium-browser \
--kiosk \
--start-maximized \
--noerrdialogs \
--disable-infobars \
--disable-session-crashed-bubble \
--disable-restore-session-state \
--disable-background-timer-throttling \
--disable-backgrounding-occluded-windows \
--disable-renderer-backgrounding \
--disable-features=TranslateUI \
--disable-ipc-flooding-protection \
--enable-features=OverlayScrollbar \
--no-first-run \
--fast \
--fast-start \
--disable-default-apps \
--disable-popup-blocking \
--disable-prompt-on-repost \
--disable-hang-monitor \
--disable-background-networking \
--aggressive-cache-discard \
--memory-pressure-off \
--max_old_space_size=100 \
--force-device-scale-factor=1 \
http://localhost:5090 &
EOF
chmod +x /home/$USER/kiosk.sh
# Configureer autostart
echo "⚙️ Autostart configureren..."
sudo mkdir -p /etc/xdg/openbox
cat > /tmp/autostart << 'EOF'
# Schakel power management uit
xset -dpms
xset s noblank
xset s off
# Verberg cursor na 3 seconden
unclutter -idle 3 -root &
# Verwijder crash berichten
sed -i 's/"exited_cleanly":false/"exited_cleanly":true/' ~/.config/chromium/'Local State' 2>/dev/null || true
sed -i 's/"exited_cleanly":false/"exited_cleanly":true/; s/"exit_type":"[^"]\+"/"exit_type":"Normal"/' ~/.config/chromium/Default/Preferences 2>/dev/null || true
# Start kiosk
/home/USER_PLACEHOLDER/kiosk.sh
EOF
sed "s/USER_PLACEHOLDER/$USER/g" /tmp/autostart | sudo tee /etc/xdg/openbox/autostart > /dev/null
# Configureer automatische X start
echo "🚀 Automatische X start configureren..."
if ! grep -q "startx" ~/.bash_profile 2>/dev/null; then
echo '[[ -z $DISPLAY && $XDG_VTNR -eq 1 ]] && startx -- -nocursor' >> ~/.bash_profile
fi
# Configureer automatische login
echo "👤 Automatische login configureren..."
sudo raspi-config nonint do_boot_behaviour B4
# Maak systemd service voor Docker
echo "🔄 Docker service configureren..."
cat > /tmp/adhan-docker.service << 'EOF'
[Unit]
Description=Adhaan Docker Services
Requires=docker.service
After=docker.service
[Service]
Type=oneshot
RemainAfterExit=yes
WorkingDirectory=/home/USER_PLACEHOLDER/adhan
ExecStart=/usr/bin/docker-compose -f docker-compose-pi.yml up -d
ExecStop=/usr/bin/docker-compose -f docker-compose-pi.yml down
TimeoutStartSec=0
[Install]
WantedBy=multi-user.target
EOF
sed "s/USER_PLACEHOLDER/$USER/g" /tmp/adhan-docker.service | sudo tee /etc/systemd/system/adhan-docker.service > /dev/null
sudo systemctl enable adhan-docker.service
echo "✅ Setup voltooid!"
echo ""
echo "📋 Volgende stappen:"
echo "1. Herstart de Pi: sudo reboot"
echo "2. De Pi start automatisch in kiosk mode"
echo "3. Docker containers starten automatisch"
echo "4. Webpagina opent automatisch op http://localhost:5090"
echo ""
echo "🔧 Handmatige bediening:"
echo "- Alt+F4: Sluit browser"
echo "- Ctrl+Alt+T: Open terminal"
echo "- sudo systemctl status adhan-docker: Check Docker status"