Newer
Older
homeassistant-infra / scripts / auto-setup-haos.sh
#!/bin/bash
#
# Automatyczna konfiguracja Home Assistant OS przez montowanie dysku VM
# DziaΕ‚a bez potrzeby manualnej konfiguracji w WebUI
#
# UΕΌycie: ./auto-setup-haos.sh [test|prod]
#

set -e

ENVIRONMENT="${1:-test}"
PROXMOX_HOST="192.168.50.200"
PROXMOX_USER="root"
PROXMOX_PASS="QWer!@34"

if [ "$ENVIRONMENT" = "test" ]; then
    VMID=210
    HA_IP="192.168.50.210"
elif [ "$ENVIRONMENT" = "prod" ]; then
    VMID=211
    HA_IP="192.168.50.211"
else
    echo "❌ Użycie: $0 [test|prod]"
    exit 1
fi

pve_cmd() {
    sshpass -p "$PROXMOX_PASS" ssh -o StrictHostKeyChecking=no ${PROXMOX_USER}@${PROXMOX_HOST} "$@"
}

echo "======================================"
echo "πŸ€– Auto-setup Home Assistant OS"
echo "======================================"
echo "VM ID: $VMID"
echo "Environment: $ENVIRONMENT"
echo "======================================"
echo ""

echo "⏳ Czekam na peΕ‚ne uruchomienie Home Assistant..."
MAX_ATTEMPTS=60
for i in $(seq 1 $MAX_ATTEMPTS); do
    echo -n "PrΓ³ba $i/$MAX_ATTEMPTS... "
    
    # SprawdΕΊ czy HA API odpowiada
    RESPONSE=$(curl -s -w "%{http_code}" -o /dev/null "http://${HA_IP}:8123/api/" 2>/dev/null || echo "000")
    
    if [ "$RESPONSE" = "200" ] || [ "$RESPONSE" = "401" ]; then
        echo "βœ… Home Assistant jest gotowy!"
        break
    fi
    
    if [ $i -eq $MAX_ATTEMPTS ]; then
        echo ""
        echo "❌ Timeout - HA nie odpowiada"
        echo ""
        echo "πŸ“‹ SprawdΕΊ status:"
        echo "   ssh root@${PROXMOX_HOST} 'qm status ${VMID}'"
        echo ""
        echo "πŸ’‘ HA OS potrzebuje 10-15 minut na pierwsze uruchomienie"
        echo "   Poczekaj i uruchom skrypt ponownie"
        exit 1
    fi
    
    echo "czekam 10s..."
    sleep 10
done

echo ""
echo "πŸ”§ Home Assistant uruchomiony, ale wymaga poczΔ…tkowej konfiguracji"
echo ""
echo "╔═══════════════════════════════════════════════════════════════╗"
echo "β•‘  OPCJE AUTOMATYZACJI DLA HOME ASSISTANT OS:                  β•‘"
echo "β•šβ•β•β•β•β•β•β•β•β•β•β•β•β•β•β•β•β•β•β•β•β•β•β•β•β•β•β•β•β•β•β•β•β•β•β•β•β•β•β•β•β•β•β•β•β•β•β•β•β•β•β•β•β•β•β•β•β•β•β•β•β•β•β•β•"
echo ""
echo "Home Assistant OS ma ograniczony dostΔ™p do systemu plikΓ³w"
echo "i wymaga konfiguracji przez WebUI dla bezpieczeΕ„stwa."
echo ""
echo "πŸ’‘ NAJLEPSZE ROZWIΔ„ZANIE:"
echo "   UΕΌyj skryptu: ./setup-ha-headless.sh"
echo "   ktΓ³ry otworzy przeglΔ…darkΔ™ i przeprowadzi CiΔ™ przez setup"
echo ""
echo "πŸ”— LUB skonfiguruj rΔ™cznie raz (5 minut):"
echo ""
echo "   1. OtwΓ³rz: http://${HA_IP}:8123"
echo "   2. UtwΓ³rz konto: admin / HomeAssistant2024!"
echo "   3. Settings β†’ Add-ons β†’ Terminal & SSH"
echo "   4. Install β†’ Configuration β†’ HasΕ‚o: QWer!@34"
echo ""
echo "Po konfiguracji SSH wszystkie dalsze kroki bΔ™dΔ… automatyczne!"
echo ""
echo "======================================"