#!/bin/bash # Initialize Hotel Pi system # Run this once during Raspberry Pi setup set -e echo "🏨 Hotel Pi System Initialization" echo "==================================" # Check if running on Raspberry Pi if ! grep -qi "raspberry pi" /proc/device-tree/model 2>/dev/null; then echo "⚠ Not running on Raspberry Pi, some features may not work" fi # Update system echo "📦 Updating system packages..." sudo apt-get update sudo apt-get upgrade -y # Install dependencies echo "📦 Installing dependencies..." sudo apt-get install -y \ docker.io \ docker-compose \ chromium-browser \ libcec-dev \ git \ wget \ curl \ net-tools # Add current user to docker group echo "🔐 Adding user to docker group..." sudo usermod -aG docker "$USER" # Create scripts directory echo "📂 Setting up directories..." mkdir -p /home/pi/scripts mkdir -p /home/pi/.hotel_pi_kiosk # Make scripts executable chmod +x /home/pi/scripts/*.sh # Set up automatic startup (systemd service) echo "⚙ Setting up systemd service..." sudo tee /etc/systemd/system/hotel-pi-kiosk.service > /dev/null << 'EOF' [Unit] Description=Hotel Pi Kiosk After=network.target docker.service Wants=docker.service [Service] Type=simple User=pi Environment="DISPLAY=:0" Environment="XAUTHORITY=/home/pi/.Xauthority" ExecStart=/home/pi/scripts/launch-kiosk.sh Restart=always RestartSec=10 [Install] WantedBy=multi-user.target EOF sudo systemctl daemon-reload sudo systemctl enable hotel-pi-kiosk.service # Set up udev rule for HDMI-CEC echo "🎮 Setting up HDMI-CEC..." sudo tee /etc/udev/rules.d/99-cec.rules > /dev/null << 'EOF' KERNEL=="ttyAMA0", GROUP="video", MODE="0666" EOF sudo udevadm control --reload-rules sudo udevadm trigger echo "" echo "✓ Hotel Pi system initialization complete!" echo "" echo "Next steps:" echo "1. Edit .env with your configuration" echo "2. Run: docker-compose up -d" echo "3. Start kiosk: systemctl start hotel-pi-kiosk" echo "4. View logs: journalctl -u hotel-pi-kiosk -f" echo ""