105207879

Установка Home Assistant (HAOS) в VirtualBox на Debian 13

🔧 1: Убедитесь, что VirtualBox установлен

# Проверка установки VirtualBox vboxmanage --version # Если не установлен — установите:
sudo apt update
sudo apt install virtualbox virtualbox-ext-pack

💡 VirtualBox Extension Pack нужен для USB 2.0/3.0, RDP, шифрования дисков и других расширенных функций.

Создайте новую ВМ

sudo -u User VBoxManage createvm \
--name HomeAssistant \
--basefolder /home/User/haos \
--ostype Other \
--register

Что произойдёт:

  • Создастся папка /home/User/haos/HomeAssistant/.
  • Появится файл конфигурации HomeAssistant.vbox.
  • ВМ зарегистрируется в VirtualBox.

Добавьте SATA‑контроллер

sudo -u User VBoxManage storagectl HomeAssistant \
--name "SATA Controller" \
--add sata \
--controller IntelAhci

Пояснения:

  • --name "SATA Controller" — имя контроллера (можно другое, но используйте его дальше).
  • --add sata — тип интерфейса.
  • --controller IntelAhci — чипсет контроллера.

Подключите существующий диск

sudo -u User VBoxManage storageattach HomeAssistant \
--storagectl "SATA Controller" \
--port 0 \
--device 0 \
--type hdd \
--medium "/home/user/haos/haos_ova-16.3.vdi"

Важно:

  • Путь к .vdi должен быть абсолютным и точным.
  • --storagectl должно совпадать с именем контроллера

Настройте параметры ВМ

sudo -u User VBoxManage modifyvm "HomeAssistant" \
--memory 8192 \
--cpus 2 \
--firmware efi \
--boot1 disk \
--nic1 bridged \
--bridgeadapter1 enp3s0 \
--vram 128 \
--usb on \
--usbehci on \
--clipboard bidirectional \
--draganddrop bidirectional

Проверка параметров:

sudo -u User VBoxManage showvminfo HomeAssistant | grep -E "Memory|CPUs|Firmware|Boot|NIC|VRAM|USB"

Проверьте подключение диска

VBoxManage showvminfo HomeAssistant | grep "SATA Controller"

В выводе должно быть:

SATA Controller (1 port, 1 device attached) IDE/SATA: #0 (SATA, 0, 0) /home/user/haos/haos_ova-16.3.vdi

Измените права доступа к файлу .vdi

Выполните команду:

sudo chmod 664 /home/user/haos/haos_ova-16.3.vdi
sudo chown user:user /home/user/haos/haos_ova-16.3.vdi
Это даст пользователю user полный доступ к файлу, а также позволит VirtualBox корректно работать с ним.

Запустите ВМ

VBoxManage startvm HomeAssistant --type headless

  • --type headless — запуск без графического интерфейса (для серверов).




Проверьте регистрацию VM

sudo -u user VBoxManage list vms

Вы должны увидеть что-то вроде:

"HomeAssistant" {12345678-1234-1234-1234-123456789abc}

Если вы видите её — значит, VM успешно зарегистрирована.

🔧 10: Дождитесь загрузки и найдите IP


Как найти IP-адрес Home Assistant после запуска?
Как только VM загрузится:
1. Откройте веб-браузер и перейдите по адресу:
👉 `http://[IP]:8123`
Где `[IP]` — это IP, который получила VM в вашей сети (через DHCP).
2. Если вы не знаете IP, можно просканировать сеть:
sudo nmap -sn 192.168.1.0/24
Найдите MAC-адрес VirtualBox (`08:00:27:...`) и соответствующий ему IP.

Ниже — полный набор команд для настройки автоматического запуска виртуальной машины с Home Assistant при старте Debian. 

Шаг 1. Убедитесь, что ВМ зарегистрирована в VirtualBox

VBoxManage registervm /home/kvictor/haos/HomeAssistant/HomeAssistant.vbox

Проверка:

VBoxManage list vms

В выводе должна быть строка: "HomeAssistant" {UUID}.

Шаг 2. Создайте systemd‑сервис для автозапуска

Откройте редактор:
sudo nano /etc/systemd/system/homeassistant.service
Вставьте содержимое (настройте под свой путь и пользователя):
 [Unit]
Description=VirtualBox VM - HomeAssistant
After=network.target virtualbox.service
Requires=virtualbox.service

[Service]
Type=simple
User=user
Group=vboxusers
ExecStart=/usr/bin/VBoxManage startvm HomeAssistant --type headless
ExecStop=/usr/bin/VBoxManage controlvm HomeAssistant savestate
Restart=on-failure
RestartSec=10
TimeoutStartSec=120

[Install]
WantedBy=multi-user.target

Пояснения:
User=user — пользователь, от имени которого запускается ВМ;
ExecStart — команда запуска ВМ в фоновом режиме;
TimeoutStartSec=120 — ждать до 2 мин старта ВМ;
Restart=on-failure — перезапуск при сбое.

Сохраните файл (Ctrl+O → Enter → Ctrl+X).

Шаг 3. Настройте зависимости (если нужно)

Если virtualbox.service не существует, создайте его:

Откройте файл:
sudo nano /etc/systemd/system/virtualbox.service
Вставьте:
[Unit]
Description=VirtualBox kernel module
After=network.target


[Service]
Type=oneshot
ExecStart=/sbin/vboxconfig
RemainAfterExit=yes


[Install]
WantedBy=multi-user.target

Активируйте:
sudo systemctl enable virtualbox.service sudo systemctl start virtualbox.service

Шаг 4. Активируйте и запустите сервис

Перезагрузите systemd:
sudo systemctl daemon-reexec
Включите автозапуск сервиса:
sudo systemctl enable homeassistant.service
Запустите сервис вручную (проверка):
sudo systemctl start homeassistant.service
Проверьте статус:Ожидаемый статус: active (running).
sudo systemctl status homeassistant.service

Шаг 5. Проверьте, что ВМ работает

Список запущенных ВМ:В выводе должна быть HomeAssistant.
VBoxManage list runningvms
Проверьте IP‑адрес ВМ (если нужен доступ):
VBoxManage guestproperty get HomeAssistant "/VirtualBox/GuestInfo/Net/0/V4/IP"
Посмотрите лог ВМ на ошибки:
cat /home/kvictor/haos/HomeAssistant/Logs/VBox.log

Шаг 6. Проверьте автозапуск после перезагрузки

Перезагрузите сервер:
sudo reboot
После загрузки проверьте:статус сервиса:
sudo systemctl status homeassistant.service
список запущенных ВМ:
VBoxManage list runningvms
Добавить комментарий