hotel_pi/scripts/init-system.sh
2026-04-06 21:33:52 -04:00

86 lines
2.0 KiB
Bash

#!/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 ""