60 lines
1.7 KiB
Bash
Executable File
60 lines
1.7 KiB
Bash
Executable File
#!/bin/bash
|
|
|
|
# HomeKit Bridge Startup Script
|
|
# This script sets up the virtual environment, installs dependencies, and starts the bridge
|
|
|
|
set -e # Exit on error
|
|
|
|
# Change to script directory
|
|
SCRIPT_DIR="$(cd "$(dirname "${BASH_SOURCE[0]}")" && pwd)"
|
|
cd "$SCRIPT_DIR"
|
|
|
|
echo "🏠 HomeKit Bridge Startup"
|
|
echo "========================="
|
|
|
|
# Virtual environment path
|
|
VENV_DIR="$SCRIPT_DIR/venv"
|
|
|
|
# Check if virtual environment exists
|
|
if [ ! -d "$VENV_DIR" ]; then
|
|
echo "📦 Virtual environment not found. Creating..."
|
|
python3 -m venv "$VENV_DIR"
|
|
echo "✅ Virtual environment created at $VENV_DIR"
|
|
fi
|
|
|
|
# Activate virtual environment
|
|
echo "🔧 Activating virtual environment..."
|
|
source "$VENV_DIR/bin/activate"
|
|
|
|
# Install/update dependencies
|
|
echo "📥 Installing dependencies from requirements.txt..."
|
|
pip install --upgrade pip -q
|
|
pip install -r requirements.txt -q
|
|
echo "✅ Dependencies installed"
|
|
|
|
# Set environment variables (with defaults)
|
|
export HOMEKIT_NAME="${HOMEKIT_NAME:-Home Automation Bridge}"
|
|
export HOMEKIT_PIN="${HOMEKIT_PIN:-031-45-154}"
|
|
export HOMEKIT_PORT="${HOMEKIT_PORT:-51826}"
|
|
export API_BASE="${API_BASE:-http://172.19.1.11:8001}"
|
|
export HOMEKIT_API_TOKEN="${HOMEKIT_API_TOKEN:-}"
|
|
export HOMEKIT_PERSIST_FILE="${HOMEKIT_PERSIST_FILE:-$SCRIPT_DIR/homekit.state}"
|
|
|
|
# Display configuration
|
|
echo ""
|
|
echo "⚙️ Configuration:"
|
|
echo " Bridge Name: $HOMEKIT_NAME"
|
|
echo " Bridge PIN: $HOMEKIT_PIN"
|
|
echo " Bridge Port: $HOMEKIT_PORT"
|
|
echo " API Base URL: $API_BASE"
|
|
echo " Persist File: $HOMEKIT_PERSIST_FILE"
|
|
echo ""
|
|
|
|
# Start the bridge
|
|
echo "🚀 Starting HomeKit Bridge..."
|
|
echo " (Press Ctrl+C to stop)"
|
|
echo ""
|
|
|
|
# Run the bridge using Python module syntax
|
|
python -m apps.homekit.main
|