#!/bin/bash
#
# Wrapper dla community HAOS script z automatycznymi odpowiedziami
# Użycie: ./create-haos-community.sh [test|prod]
#
set -e
ENVIRONMENT="${1:-test}"
PROXMOX_HOST="192.168.50.200"
PROXMOX_PASS="QWer!@34"
if [ "$ENVIRONMENT" = "test" ]; then
VMID=210
VM_NAME="haos-test"
CORES=2
RAM=4096
DISK=32
elif [ "$ENVIRONMENT" = "prod" ]; then
VMID=211
VM_NAME="haos-prod"
CORES=4
RAM=6144
DISK=64
else
echo "❌ Użycie: $0 [test|prod]"
exit 1
fi
echo "======================================"
echo "🏠 Tworzenie Home Assistant OS VM"
echo "======================================"
echo "Environment: $ENVIRONMENT"
echo "VM ID: $VMID"
echo "Name: $VM_NAME"
echo "CPU: $CORES cores"
echo "RAM: ${RAM}MB"
echo "Disk: ${DISK}GB"
echo "======================================"
echo ""
# Pobierz najnowszą wersję HAOS
echo "📥 Pobieranie informacji o najnowszej wersji HAOS..."
HAOS_VERSION=$(curl -s https://api.github.com/repos/home-assistant/operating-system/releases/latest | grep -oP '"tag_name": "\K(.*)(?=")')
echo " Najnowsza wersja: $HAOS_VERSION"
HAOS_IMAGE_URL="https://github.com/home-assistant/operating-system/releases/download/${HAOS_VERSION}/haos_ova-${HAOS_VERSION}.qcow2.xz"
echo ""
echo "🔧 Tworzenie VM na Proxmox..."
# Skrypt do wykonania na Proxmox
REMOTE_SCRIPT=$(cat <<'EOFSCRIPT'
#!/bin/bash
set -e
VMID="$1"
VM_NAME="$2"
CORES="$3"
RAM="$4"
DISK="$5"
HAOS_IMAGE_URL="$6"
STORAGE="local-lvm"
echo "📦 Pobieranie obrazu HAOS..."
cd /tmp
HAOS_FILE="haos_ova.qcow2"
if [ ! -f "${HAOS_FILE}" ]; then
wget -q --show-progress "${HAOS_IMAGE_URL}" -O "${HAOS_FILE}.xz"
echo "📂 Rozpakowywanie..."
xz -d "${HAOS_FILE}.xz"
fi
echo "🔨 Tworzenie VM..."
qm create ${VMID} \
--name ${VM_NAME} \
--cores ${CORES} \
--memory ${RAM} \
--net0 virtio,bridge=vmbr0 \
--ostype l26 \
--scsihw virtio-scsi-pci
echo "💾 Importowanie dysku..."
qm importdisk ${VMID} /tmp/${HAOS_FILE} ${STORAGE}
echo "⚙️ Konfiguracja VM..."
qm set ${VMID} --scsi0 ${STORAGE}:vm-${VMID}-disk-0
qm set ${VMID} --boot c --bootdisk scsi0
qm set ${VMID} --agent enabled=1
qm set ${VMID} --serial0 socket --vga serial0
qm set ${VMID} --onboot 1
echo "📦 Rozszerzanie dysku do ${DISK}GB..."
qm resize ${VMID} scsi0 ${DISK}G
echo "🚀 Uruchamianie VM..."
qm start ${VMID}
echo "🧹 Czyszczenie..."
rm -f /tmp/${HAOS_FILE}*
echo ""
echo "✅ VM utworzone pomyślnie!"
echo " ID: ${VMID}"
echo " Nazwa: ${VM_NAME}"
echo ""
echo "⏳ Czekaj 10-15 minut na pierwsze uruchomienie"
echo "🌐 Dostęp przez Proxmox console lub czekaj na DHCP"
EOFSCRIPT
)
# Wykonaj na Proxmox
sshpass -p "$PROXMOX_PASS" ssh -o StrictHostKeyChecking=no root@${PROXMOX_HOST} "bash -s" <<< "$REMOTE_SCRIPT" "$VMID" "$VM_NAME" "$CORES" "$RAM" "$DISK" "$HAOS_IMAGE_URL"
echo ""
echo "======================================"
echo "✅ INSTALACJA ZAKOŃCZONA"
echo "======================================"
echo ""
echo "📊 Sprawdź VM:"
echo " ssh root@${PROXMOX_HOST} 'qm status ${VMID}'"
echo ""
echo "🌐 Po uruchomieniu sprawdź IP:"
echo " ssh root@${PROXMOX_HOST} 'qm guest cmd ${VMID} network-get-interfaces'"
echo ""
echo "💡 Lub przypisz statyczne IP przez Proxmox/Router"
echo "======================================"