Как я перенёс Home Assistant с Raspberry Pi на Proxmox VE

От «сгоревшей флешки» до надёжного умного дома:

«Одним движением руки, словно фея, я случайно сломал свой умный дом…»

Предыстория

Мой умный дом начинался просто: Raspberry Pi + microSD-карта + Home Assistant. Всё работало, пока однажды я не решил просто «выключить питание». После этого флешка отказалась загружаться, а все настройки, интеграции и автоматизации — исчезли.

Главный урок: бекапы — это не опция, а необходимость. Но об этом позже и в следующей статье.

? Поиск решения

Началось изучение матчасти:

  • Смотрел ролики на YouTube и Rutube

  • Читал статьи на Habr, Reddit, официальном форуме HA

  • Сравнивал варианты: остаться на Pi или перейти на x86

Варианты железа:

Платформа

Плюсы

Минусы

Raspberry Pi 4/5

Дёшево, низкое энергопотребление, тихое

Ненадёжная SD-карта, ограниченная производительность, сложно с бекапами

Mini PC (Intel N100/N150)

Надёжный SSD, больше ресурсов, виртуализация, снапшоты

Чуть дороже, чуть больше потребляет

Мой выбор: Firebat T2

Параметр

Значение

Процессор

Intel N100 (4 ядра, до 3.4 ГГц)

ОЗУ

16 ГБ DDR4

Накопитель

512 ГБ NVMe SSD

Сеть

2× 2.5 GbE, Wi-Fi 6, Bluetooth 5.2

Потребление

~6–15 Вт под нагрузкой

Почему именно эта конфигурация:

  • SSD вместо SD-карты можно установить NVME — надёжность хранения данных

  • 16 ГБ ОЗУ можно увеличить до 32 ГБ — запас для нескольких ВМ и контейнеров

  • Proxmox VE — возможность изолировать сервисы, делать снапшоты, тестировать без риска

  • Низкое энергопотребление — можно держать включённым 24/7 без ущерба для счёта

Архитектура нового умного дома

┌─────────────────────────────┐
│   Proxmox VE (хост)         │
├─────────────────────────────┤
│  ┌─────────────────────┐    │
│  │ ВМ #100: HAOS       │    │
│  │ Home Assistant OS   │    │
│  └─────────────────────┘    │
│  ┌─────────────────────┐    │
│  │ ВМ #101: (резерв)   │    │
│  │ Тестовая среда      │    │
│  └─────────────────────┘    │
│  ┌─────────────────────┐    │
│  │ LXC: AdGuard/Docker │    │
│  └─────────────────────┘    │
└─────────────────────────────┘

? Философия подхода:«Не бойся ломать — бойся не уметь чинить».С Proxmox и снапшотами вы можете экспериментировать смело: если что-то пошло не так — просто откатитесь к рабочей версии за 30 секунд.

  1. Скачайте BalenaEtcher с официального сайта — утилиту для записи образов на съёмные накопители. Она понадобится, чтобы создать загрузочную флешку с Proxmox VE.

  2. Скачайте установочный образ Proxmox VE с официального сайта. На момент написания статьи актуальной была версия «Proxmox VE 8.3 ISO Installer».

  3. Подготовьте USB-накопитель объёмом не менее 1 ГБ (рекомендуется 4+ ГБ). Все данные с него будут удалены в процессе записи образа.

Запись образа Proxmox VE на флешку:

  1. Запустите BalenaEtcher.

  2. Выберите образ:
    - Нажмите «Select Image» → в открывшемся окне укажите скачанный образ Proxmox VE 8.3 ISO Installer«Open».

  3. Выберите целевой накопитель:
    - Нажмите «Select Target» → выберите USB-накопитель, на который будет записан образ → «OK».
    - Внимание: все данные с флешки будут безвозвратно удалены.

  4. Запишите образ:
    - Нажмите «Flash!» и дождитесь завершения процесса записи.
    - Пока образ записывается, можно подготовить mini PC: подключить клавиатуру, монитор и сетевой кабель и настроить Bios.

Скриншот интерфейса BalenaEtcher

Войдите в BIOS/UEFI

  1. Перезагрузите компьютер.

    1. Сразу после включения часто нажимайте клавишу входа в BIOS:

    2. F2 или Delete — наиболее распространённые варианты;

    3. F1, F10, Esc — реже, зависит от производителя.

    4. Продолжайте нажимать до появления меню Aptio Setup Utility

  2. Настройте загрузку с USB-накопителя

    1. - Перейдите в раздел «Boot».

    2. Найдите пункт «Fixed Boot Order Priorities» (или аналогичный).

    3. Установите USB-накопитель на первое место в списке загрузки.
      Это нужно, чтобы система загрузилась с флешки с Proxmox VE, а не с внутреннего накопителя.

  3. Настройте автозапуск после отключения питания
    Важно: для умного дома критично, чтобы мини-ПК включался сам после скачка напряжения.

    1. В разделе «Boot» найдите «Boot Configuration»«State After G3».

    2. Установите значение [S0] (Power On) — рекомендуется: система автоматически включится после восстановления питания.

Настройка "State After G3" определяет поведение системы после выхода из состояния полного отключения (G3). То есть: если пропало электричество в розетке, а потом снова появилось — что делать системе?

Настройка "State After G3 [S0 State]" означает: после восстановления питания система автоматически включится и загрузится в рабочий режим. Полезно для серверов и умного дома — если пропадёт электричество, после его появления мини-ПК сам перезапустится без вашего участия.

Настройка "State After G3 [S1 State]" означает: после восстановления питания система перейдёт в режим лёгкого сна с минимальной экономией энергии, но максимально быстрым выходом из него.

Настройка "State After G3 [S2 State]" означает: после восстановления питания система перейдёт в режим сна с отключённым процессором, но сохранёнными данными в оперативной памяти.

Настройка "State After G3 [S3 State]" означает: после восстановления питания система перейдёт в режим «сна» — данные останутся в оперативной памяти, но большинство компонентов будет обесточено для экономии энергии.

Настройка "State After G3 [S4 State]" означает: после восстановления питания система перейдёт в режим гибернации — состояние будет сохранено на накопитель, что позволит полностью обесточить систему без потери данных.

Настройка "State After G3 [S5 State]" означает: если пропадёт и снова появится питание, система перейдёт в состояние S5 (выключена, но готова к включению), а не включится автоматически.

Скриншот интерфейса Bios

Установка Proxmox VE

  1. Подключите оборудование.

    1. Подключите USB-накопитель с записанным образом Proxmox VE к mini PC.

    2. Подключите LAN-кабель (сетевой провод) от роутера к mini PC.

    3. Подключите монитор и клавиатуру для настройки.

  2. Загрузитесь с флешки.

    1. Перезагрузите mini PC.

    2. Дождитесь появления начального меню загрузчика Proxmox VE.

    3. Выберите пункт «Install Proxmox VE (Graphical)» и нажмите Enter.

  3. Примите лицензионное соглашение.

    1. В окне «End User License Agreement (EULA)» ознакомьтесь с условиями.

    2. Нажмите «Next» для продолжения.

  4. Выберите диск для установки.

    1. В окне «Proxmox Virtual Environment (PVE) — Target Disk»:

    2. Выберите накопитель, на который будет установлена система.

    3. Внимание: все данные на выбранном диске будут удалены.

    4. Нажмите «Next».

  5. Настройте регион и клавиатуру.

    1. В окне «Location and Time Zone Selection»:

    2. Country: выберите вашу страну (Russian Federation);

    3. Time zone: выберите часовой пояс (например, Europe/Moscow);

    4. Keyboard layout: рекомендуется оставить en-us (английская раскладка).

    5. Нажмите «Next».

  6. Задайте пароль администратора.

    1. В окне «Administration Password and Email Address»:

    2. Password: введите надёжный пароль для пользователя root и запомните его;

    3. Confirm password: повторите пароль;

    4. Email address: укажите e-mail для получения уведомлений об ошибках и событиях системы.

    5. Нажмите «Next».

  7. Настройте сеть.

    1. В окне «Management Network Configuration»:

    2. Management Interface: выберите сетевой адаптер (рядом с активным будет зелёный индикатор);

    3. Hostname (FQDN): укажите имя хоста, например pve.local или proxmox.home;

    4. IP Address (CIDR): оставьте предложенное значение или укажите статический адрес, например 192.168.1.100/24;

    5. Gateway: оставьте адрес шлюза по умолчанию (обычно адрес роутера);

    6. DNS Server: оставьте автоматически или укажите предпочитаемый (например, 8.8.8.8).

    7. Нажмите «Next».
      Совет: для домашней сети лучше задать статический IP-адрес, чтобы адрес панели управления Proxmox не менялся после перезагрузки.

  8. Подтвердите установку.

    1. В окне «Summary» проверьте все введённые параметры.

    2. Если всё верно — нажмите «Next».
      Начнётся процесс установки: отформатируется диск, скопируются файлы, настроится система.

  9. Дождитесь завершения установки.

    1. После успешной установки появится сообщение «Installation successful».

    2. Нажмите «Reboot». Важно: перед перезагрузкой извлеките USB-накопитель, чтобы система не загрузилась с него снова.

  10. Войдите в веб-интерфейс.

    1. После перезагрузки на экране появится сообщение с адресом для входа, например: https://192.168.1.100:8006

    2. Откройте браузер на любом устройстве в той же сети и введите этот адрес.

    3. Важно: соединение будет незащищённым (самоподписанный сертификат) — браузер покажет предупреждение. Нажмите «Принять риск» / «Дополнительно» → «Перейти».

    4. В окне входа введите:

      - User name: root
      - Password: пароль, заданный в шаге 6
      - Realm: Linux PAM standard authentication
      - Нажмите «Login».

Готово! Вы успешно установили Proxmox VE и вошли в панель управления.

Скриншот интерфейса Proxmox VE

Изображение интерфейса установки Proxmox VE взято из статьи на Habr https://habr.com/ru/articles/756058/

Обновление Proxmox VE и отключение платной подписки.

Если не хотите настраивать всё вручную — можно запустить готовый скрипт с портала Proxmox VE Community Scripts.
Он автоматизирует большинство рутинных действий после установки.
Ссылка на скрипт: https://community-scripts.org/scripts/post-pve-install
Как использовать:

  • Откройте Shell в веб-интерфейсе Proxmox VE.

  • Скопируйте и вставьте команду установки со страницы скрипта.

  • Следуйте подсказкам на экране.

# Актуальную ссылку копируйте с сайта
bash -c "$(curl -fsSL https://raw.githubusercontent.com/community-scripts/ProxmoxVE/main/tools/pve/post-pve-install.sh)"
Что делает скрипт по шагам:

1. Настройка APT-репозиториев (в зависимости от версии PVE)

Для Proxmox 8.x (Bookworm):

  • Исправляет стандартные источники Debian Bookworm

  • Отключает pve-enterprise (требует платную подписку)

  • Включает pve-no-subscription (бесплатный, но "неофициальный" репозиторий)

  • Корректирует Ceph-репозитории

  • Добавляет отключённый pvetest (для бета-тестеров)

Для Proxmox 9.x (Trixie):

  • Мигрирует на современный формат deb822 (.sources файлы)

  • Обрабатывает legacy .list файлы (отключает/переименовывает)

  • Настраивает репозитории в новом формате

  • Гибко управляет Ceph и тестовыми репозиториями

2. Отключение "Subscription Nag" (назойливого уведомления)

bash

# Патчит JavaScript файл веб-интерфейса
/usr/share/javascript/proxmox-widget-toolkit/proxmoxlib.js
# Добавляет скрипт, который запускается после каждого обновления APT
/usr/local/bin/pve-remove-nag.sh
/etc/apt/apt.conf.d/no-nag-script

Что делает патч:

  • Убирает красное уведомление "No valid subscription"

  • Удаляет диалоги и карточки с напоминанием о подписке

  • Работает и в веб-интерфейсе, и в мобильной версии

3. Управление High Availability (HA)

  • Включает HA, если сервисы не активны (pve-ha-lrm, pve-ha-crm, corosync)

  • Отключает HA, если вы используете один узел (экономит ресурсы)

  • При отключении HA также предлагает отключить Corosync

4. Обновление системы

bash

apt update
apt -y dist-upgrade

Обновляет все пакеты Proxmox до последних версий.

5. Перезагрузка

Предлагает перезагрузить сервер (рекомендуется после всех изменений).

Итоговые изменения в системе:

Компонент

Действие

/etc/apt/sources.list

Исправлен на корректный Debian

pve-enterprise репозиторий

Отключён

pve-no-subscription

Включён

Ceph репозитории

Настроены

Уведомление о подписке

Убрано из UI

HA сервисы

Вкл/выкл по выбору

Система

Обновлена

Важные моменты:

  1. Безопасность: Скрипт включает pve-no-subscription — это бесплатный репозиторий, но он менее стабилен, чем платный pve-enterprise

  2. Для кластеров: Скрипт нужно запускать на каждом узле отдельно

  3. После выполнения: Обязательно очистить кэш браузера (Ctrl+Shift+R), иначе патч веб-интерфейса не будет виден

  4. Рекомендация: После скрипта перезагрузить сервер

Простыми словами:

Этот скрипт делает Proxmox "удобнее для домашнего использования" — убирает постоянные напоминания о покупке лицензии, настраивает правильные источники обновлений и оптимизирует сервисы под single-node установку.

Важное предупреждение: Я не рекомендую запускать скрипты из неизвестных источников на продакшн-системах.Перед запуском:

  • Изучите код скрипта (он открыт);

  • Протестируйте на виртуальной машине или снапшоте;

  • Убедитесь, что скрипт не запрашивает лишние права;

  • Сделайте бэкап или снапшот системы.

Помните: «ленивый» способ экономит время, но понимание того, что именно делает скрипт, поможет вам быстрее диагностировать проблемы в будущем.

Скриншот интерфейса PVE Post Install

Заголовок: Deb822 sources detected → Обнаружены источники Deb822

Текст сообщения:

  • Modern deb822 sources (*.sources) already exist.→ Современные файлы источников deb822 (*.sources) уже существуют.

  • No changes to sources format required.→ Изменения формата источников не требуются.

  • You may still have legacy sources.list or .list files, which you can disable in the next step.→ У вас всё ещё могут быть устаревшие файлы sources.list или .list, которые вы можете отключить на

Пояснение:

Это сообщение означает, что ваша система Proxmox VE уже использует современный формат хранения репозиториев (DEB822), поэтому скрипту не нужно ничего менять. Это хорошо — система уже актуальна!

Название раздела: PVE-ENTERPRISE → PVE-ENTERPRISE (оставить как есть)

Текст сообщения:

  • 'pve-enterprise' repository already exists.→ Репозиторий 'pve-enterprise' уже существует.

  • What do you want to do?→ Что вы хотите сделать?

Варианты выбора:

  • keep — Keep as is→ оставить — Оставить как есть

  • disable — Comment out (disable) this repo→ отключить — Закомментировать (отключить) этот репозиторий

Что выбрать?

Для домашнего использования рекомендуется выбрать disable, так как репозиторий pve-enterprise требует платной подписки. Вместо него скрипт предложит включить бесплатный репозиторий no-subscription.

Название раздела: PVE-ENTERPRISE → PVE-ENTERPRISE (оставить как есть)

Текст сообщения:

  • 'pve-enterprise' repository already exists.→ Репозиторий 'pve-enterprise' уже существует.

  • What do you want to do?→ Что вы хотите сделать?

Варианты выбора:

  • keep — Keep as is→ оставить — Оставить как есть

  • disable — Comment out (disable) this repo→ отключить — Закомментировать (отключить) этот репозиторий

Что выбрать?

Для домашнего использования рекомендуется выбрать disable, так как репозиторий pve-enterprise требует платной подписки. Вместо него скрипт предложит включить бесплатный репозиторий no-subscription.

Заголовок: PVE-NO-SUBSCRIPTION → оставить как есть (техническое название раздела)

Текст сообщения:

  • The 'pve-no-subscription' repository provides access to all of the open-source components of Proxmox VE.→ Репозиторий pve-no-subscription предоставляет доступ ко всем компонентам Proxmox VE с открытым исходным кодом.

  • Add 'pve-no-subscription' repository (deb822)?→ Добавить репозиторий pve-no-subscription (в формате deb822)?

Варианты выбора:

  • yesда

  • noнет

Что выбрать?

Рекомендуется выбрать yes.Этот репозиторий необходим для получения бесплатных обновлений ядра, пакетов и патчей безопасности без оформления платной подписки Proxmox. Без него система не сможет обновляться через стандартный менеджер пакетов.

Название раздела: PVETEST → PVETEST (оставить как есть)

Текст сообщения:

  • The 'pve-test' repository can give advanced users access to new features and updates before they are officially released.→ Репозиторий 'pve-test' предоставляет опытным пользователям доступ к новым функциям и обновлениям до их официального выпуска.

  • Add (Disabled) 'pvetest' repository (deb822)?→ Добавить (отключённый) репозиторий 'pvetest' (в формате deb822)?

Варианты выбора:

  • yesда

  • noнет

Что выбрать?

Для стабильной домашней системы рекомендуется выбрать no (не добавлять).Репозиторий pvetest содержит тестовые сборки с новыми функциями, которые ещё не прошли полное тестирование. Это может привести к нестабильной системе.

Выбирайте yes, только если:

  • Вы хотите тестировать новые функции Proxmox

  • Вы понимаете риски нестабильности

  • Это тестовая, а не продуктивная система

Заголовок окна: SUBSCRIPTION NAG → НАПОМИНАНИЕ О ПОДПИСКЕ

Текст сообщения:

  • This will disable the nag message reminding you to purchase a subscription every time you log in to the web interface.→ Это отключит сообщение с напоминанием о необходимости приобрести подписку, которое появляется при каждом входе в веб-интерфейс.

  • Disable subscription nag?→ Отключить напоминание о подписке?

Варианты выбора:

  • yesда

  • noнет

Что выбрать?

Для домашнего использования рекомендуется выбрать yes (отключить напоминание).Без платной подписки это сообщение будет появляться при каждом входе в веб-интерфейс Proxmox VE и напоминать о необходимости приобрести лицензию. Для личного использования подписка не обязательна, поэтому напоминание можно спокойно отключить.

Заголовок окна: Support Subscriptions → Поддержка и подписки

Текст сообщения:

  • Supporting the software's development team is essential. Check their official website's Support Subscriptions for pricing. Without their dedicated work, we wouldn't have this exceptional software.→ Поддержка команды разработчиков программного обеспечения крайне важна. Посетите их официальный сайт в разделе Support Subscriptions для ознакомления с ценами. Без их самоотверженной работы у нас не было бы этого превосходного программного обеспечения.

Пояснение:

Это информационное сообщение напоминает о важности поддержки разработчиков Proxmox.

Если вы используете Proxmox VE для бизнеса или критически важных систем — рассмотрите возможность приобретения платной подписки. Это поможет развитию проекта и даст вам доступ к официальной технической поддержке.

Для домашнего использования достаточно бесплатного репозитория no-subscription, который вы уже добавили ранее.

Заголовок окна: HIGH AVAILABILITYВЫСОКАЯ ДОСТУПНОСТЬ

Текст сообщения:

  • If you plan to utilize a single node instead of a clustered environment, you can disable unnecessary high availability (HA) services, thus reclaiming system resources.→ Если вы планируете использовать один узел (ноду) вместо кластерной среды, вы можете отключить ненужные службы высокой доступности (HA), тем самым высвободив системные ресурсы.

  • If HA becomes necessary at a later stage, the services can be re-enabled.→ Если HA станет необходимым на более позднем этапе, эти службы можно будет включить повторно.

  • Disable high availability?→ Отключить высокую доступность?

Варианты выбора:

  • yesда

  • noнет

Что выбрать?

Для вашей задачи (один мини-ПК под умный дом) рекомендуется выбрать yes (отключить).Службы высокой доступности (HA) предназначены для кластеров из нескольких серверов. На одной ноде они не используются, но потребляют оперативную память и процессорное время. Их отключение освободит ресурсы для виртуальных машин и контейнеров. При необходимости их всегда можно включить позже через веб-интерфейс Proxmox.

Название раздела: UPDATE → ОБНОВЛЕНИЕ

Текст сообщения:

  • Update Proxmox VE now?→ Обновить Proxmox VE сейчас?

Варианты выбора:

  • yesда

  • noнет

? Что выбрать?

Рекомендуется выбрать yes (обновить сейчас).После настройки репозиториев на предыдущих шагах система скачает все доступные обновления безопасности, исправления ошибок и актуальные версии пакетов. Это обеспечит стабильную и безопасную работу вашей системы Proxmox VE.

Процесс обновления может занять несколько минут в зависимости от скорости интернета. После завершения система будет полностью актуализирована.

Заголовок окна: Post-Install Reminder → Напоминание после установки

Текст сообщения:

IMPORTANT:ВАЖНО:

  • If you have multiple Proxmox VE hosts in a cluster, please make sure to run this script on every node individually.→ Если у вас несколько хостов Proxmox VE в кластере, обязательно запускайте этот скрипт на каждом узле индивидуально.

  • After completing these steps, it is strongly recommended to REBOOT your node.→ После завершения этих шагов настоятельно рекомендуется ПЕРЕЗАГРУЗИТЬ ваш узел.

  • After the upgrade or post-install routines, always clear your browser cache or perform a hard reload (Ctrl+Shift+R) before using the Proxmox VE Web UI to avoid UI display issues.→ После обновления или процедур пост-установки всегда очищайте кэш браузера или выполняйте жёсткую перезагрузку страницы (Ctrl+Shift+R) перед использованием веб-интерфейса Proxmox VE, чтобы избежать проблем с отображением интерфейса.

? Что делать дальше?

  1. Нажмите <Ок> для закрытия сообщения

  2. После перезагрузки войдите в веб-интерфейс и нажмите Ctrl+Shift+R для очистки кэша браузера

Заголовок окна: Proxmox VE Helper Scripts → Вспомогательные скрипты Proxmox VE

Название раздела: REBOOT → ПЕРЕЗАГРУЗКА

Текст сообщения:

  • Reboot Proxmox VE now? (recommended)→ Перезагрузить Proxmox VE сейчас? (рекомендуется)

Варианты выбора:

  • yesда

  • noнет

? Что выбрать?

Рекомендуется выбрать yes (перезагрузить сейчас).После выполнения скрипта пост-установки и обновления системы перезагрузка необходима для:

  • Применения обновлений ядра

  • Активации всех изменений конфигурации

  • Корректной работы новых служб

После перезагрузки система будет полностью готова к работе! ?

Установка виртуальной машины и Home Assistant

Если не хотите настраивать всё вручную — можно запустить готовый скрипт с портала Proxmox VE Community Scripts.
Он автоматизирует большинство рутинных действий после установки.
Ссылка на скрипт: https://community-scripts.org/scripts/haos-vm
Как использовать:

  • Откройте Shell в веб-интерфейсе Proxmox VE.

  • Скопируйте и вставьте команду установки со страницы скрипта.

  • Следуйте подсказкам на экране.

bash -c "$(curl -fsSL https://raw.githubusercontent.com/community-scripts/ProxmoxVE/main/vm/haos-vm.sh)"
Что делает скрипт по шагам:

Этот скрипт автоматически создаёт виртуальную машину с Home Assistant OS в Proxmox VE. Вот полный список команд, которые он выполняет (сгруппировано по этапам):

Подготовительные команды

# Загрузка вспомогательных функций API
source /dev/stdin <<<$(curl -fsSL https://raw.githubusercontent.com/community-scripts/ProxmoxVE/main/misc/api.func)
# Создание временной директории
TEMP_DIR=$(mktemp -d)
# Генерация случайного MAC-адреса
GEN_MAC=02:$(openssl rand -hex 5 | awk '{print toupper($0)}' | sed 's/\(..\)/\1:/g; s/.$//')
# Генерация случайного UUID
RANDOM_UUID="$(cat /proc/sys/kernel/random/uuid)"

Проверка системы

# Проверка прав root
id -u
# Проверка версии Proxmox
pveversion
# Проверка архитектуры (должна быть amd64)
dpkg --print-architecture
# Установка пакета pv (если отсутствует)
apt-get update -qq
apt-get install -y pv
# Определение URL в зависимости от версии (stable/beta/dev)
# Для stable: https://github.com/home-assistant/operating-system/releases/download/{version}/haos_ova-{version}.qcow2.xz
# Для dev: https://os-artifacts.home-assistant.io/dev/haos_ova-dev.qcow2.xz
# Скачивание образа
curl -fSL -o /var/lib/vz/template/cache/haos_ova-*.qcow2.xz <URL>
# Проверка целостности .xz файла
xz -t /var/lib/vz/template/cache/haos_ova-*.qcow2.xz
# Распаковка .xz в .qcow2
xz -dc /var/lib/vz/template/cache/haos_ova-*.qcow2.xz | pv > /var/lib/vz/template/tmp/haos_ova-*.qcow2

Создание VM в Proxmox

# Создание виртуальной машины
qm create <VMID> \
  -machine q35 \
  -bios ovmf \
  -agent 1 \
  -tablet 0 \
  -localtime 1 \
  -cores <количество_ядер> \
  -memory <RAM_в_МБ> \
  -name <hostname> \
  -tags community-script \
  -net0 virtio,bridge=<bridge>,macaddr=<MAC>,tag=<VLAN>,mtu=<MTU> \
  -onboot 1 \
  -ostype l26 \
  -scsihw virtio-scsi-pci
# Импорт диска (старый синтаксис)
qm importdisk <VMID> /var/lib/vz/template/tmp/haos_ova-*.qcow2 <storage> --format raw
# ИЛИ новый синтаксис
qm disk import <VMID> /var/lib/vz/template/tmp/haos_ova-*.qcow2 <storage> --format raw

Настройка VM

# Добавление EFI диска и основного диска
qm set <VMID> \
  --efidisk0 <storage>:0,efitype=4m \
  --scsi0 <диск>,ssd=1,discard=on \
  --boot order=scsi0 \
  --serial0 socket
# Включение QEMU Agent
qm set <VMID> --agent enabled=1
# Изменение размера диска
qm resize <VMID> scsi0 <размер>G
# Добавление описания VM (HTML)
qm set <VMID> -description "<HTML_описание>"

Запуск и очистка

# Запуск VM (опционально)
qm start <VMID>
# Остановка VM (при ошибке)
qm stop <VMID>
# Удаление VM (при ошибке)
qm destroy <VMID>
# Удаление временных файлов
rm -rf $TEMP_DIR
rm -f /var/lib/vz/template/tmp/haos_ova-*.qcow2
# Удаление кэшированного образа (опционально)
rm -f /var/lib/vz/template/cache/haos_ova-*.qcow2.xz

Команды для получения информации

# Получение следующего доступного ID
pvesh get /cluster/nextid
# Проверка существующих VM/контейнеров
pct status <VMID>
qm status <VMID>
# Список storage pools
pvesm status -content images
# Поиск импортированного диска
pvesm list <storage> | grep "vm-<VMID>-disk-"
# Проверка LVM томов
lvs --noheadings -o lv_name

Дополнительные команды

# Генерация случайного UUID (используется системой)
cat /proc/sys/kernel/random/uuid
# Получение версий HAOS
curl -fsSL https://raw.githubusercontent.com/home-assistant/version/master/stable.json
# Отправка телеметрии (функции API)
post_to_api_vm
post_update_to_api "done" "none"

Примечания

  • Скрипт автоматически определяет VMID, storage, bridge и другие параметры

  • Все команды выполняются с проверкой ошибок (set -e + trap)

  • При возникновении ошибки выполняется очистка (cleanup_vmid)

  • Скрипт поддерживает как стандартные, так и расширенные настройки через whiptail (диалоговые окна)

Скрипт не требует ручного ввода большинства команд — всё автоматизировано!

Дождитесь загрузки Home Assistant и узнайте адрес для входа

  • Откройте консоль виртуальной машины:
    - В левом дереве интерфейса Proxmox выберите вашу ВМ (HAOS, ID: 100)
    - Перейдите во вкладку >_ Console

  • Дождитесь завершения загрузки:
    - Первая загрузка может занять 3–7 минут — система инициализирует компоненты, расширяет диск, настраивает сеть.
    -На экране будут появляться логи загрузки:

[  OK  ] Started Home Assistant Supervisor.
[  OK  ] Reached target Home Assistant OS.
  • Не пугайтесь, если консоль «зависнет» на одном из сообщений — это нормально. Система работает в фоновом режиме.

  • Найдите адрес для входа:

    После успешной загрузки вы увидите финальное сообщение:

   Home Assistant OS
   Version: 17.2
   https://www.home-assistant.io

   IP address: http://192.168.1.XX:8123

Запишите или скопируйте этот IP-адрес — он понадобится для входа в веб-интерфейс.

  • Откройте веб-интерфейс Home Assistant:
    - В браузере любого устройства в той же сети введите:

http://192.168.1.XX:8123 

(замените 192.168.1.XX на ваш реальный адрес)
- Нажмите Enter — вы увидите приветственный экран "Welcome to Home Assistant"

Важно

Если в процессе работы если у вас не будут сохранятся пароли в Home Assitant, то ознакомтесь со статьей от Михаила Шардина @empenoso ссылка на статью https://habr.com/ru/articles/983106/

Также можете в Terminal & SSH в Home Assistant ввести команду:

ha security options --pwned=False

Комментарии (12)


  1. nikulin_krd
    16.04.2026 13:40

    Вопрос! А зачем на системе, которая и так "на ладан дышит" еще и достаточно прожорливый Proxmox? Что даст такое решение?


    1. SmileyK
      16.04.2026 13:40

      Если PVE прожорлив , (узнал только щас) то что другое ?


      1. krolikrojer
        16.04.2026 13:40

        Пользую докер на дебиане (хоть вроде и говорят,что HA переходят на ОС, но образы обновляются и выпускаются). Есть docker-compose и маунты важных папок на диск. Есть джоба, которая эти папки бэкапит из дебиана. Если сдохнет диск:

        1. Если диск дебиана: ставим снова дебиан,докер,поднимаем стэки (yaml тоже должны быть забекаплены). Готово

        2. Если диск с маунтами: на новый восстанавливаем конфигурацию, делаем дебиану ремаунт. Готово

        3. Если диск с бэкапами: на новый диск настраиваем маунты дебиана, запускаем джобу бэкапа сразу. Готово


        1. SmileyK
          16.04.2026 13:40

          А зачем если есть у HA ВМ Haos - запустили в проксике и работает, бекап есть возможность делать как внутри НА так и средствами pve … и заморачиватся сильно не стоит )


    1. LakeOfTears
      16.04.2026 13:40

      пояснения еще нужны? N100 16 Gb
      пояснения еще нужны? N100 16 Gb


  1. kalapanga
    16.04.2026 13:40

    Так а на какой мини ПК всё устанавливали-то? Кроме процессора ничего не рассказали - ни объем оперативки, ни объем диска. Да и просто конкретную модель мини ПК почему бы не назвать? Насколько в среднем он загружен?


    1. Dyakonovg Автор
      16.04.2026 13:40

      Добавил информацию в статью. Firebat T2

      Процессор Intel N100 (4 ядра, до 3.4 ГГц)

      ОЗУ 16 ГБ DDR4

      Накопитель512 ГБ SSD


  1. sokoloid
    16.04.2026 13:40

    Из-за того, что бэкап не делался установить Proxmox. Ну это кардинально.
    В HA же есть нормальный модуль бэкапирования конфигурации, хочешь в S3, хочешь на SFTP. У самого есть в хозяйстве мини-сервер на базе древнего Intel® Atom™ CPU D410 + 4G RAM, но мыслей поставить не него Proxmox не возникает, стоит чистый OpenMediaVault. А вот бэкапы на него льются регулярно, т.к. там RAID.

    Восстанавливается так же элементарно как и с VM. Восстанавливается базовый образ SD с ОС, далее копируется конфигурация и одной командой запуск. Всё.


    1. LakeOfTears
      16.04.2026 13:40

      да там и google drive шикарно бэкапится, дважды преезжал - никаких проблем.


  1. ianohin
    16.04.2026 13:40

    Ну обычная история, у меня дома два проксмокса и omv для бэкапа.


  1. disaster89
    16.04.2026 13:40

    Вкладка «CPU» (Процессор)- Cores: укажите 2.- Type: оставьте x86-64-v2-AES (по умолчанию).

    Поясните почему тут не выбрали "host"? Кластеризация не планируется, одиночный сервер, максимальная производительность прокинуть хост процессор/ядра со всеми флагами, нет?


    1. Dyakonovg Автор
      16.04.2026 13:40

      После публикации изменил на "host", но забыл поменять информацию в статье. Сейчас поправил