Установка Home Assistant на Ubuntu чаще всего зависает на этапе выбора метода: официальный образ Home Assistant OS напрямую на Ubuntu не ставится, а попытка развернуть Supervised-вариант на обычной десктопной системе приводит к ошибке «unsupported system». Поэтому первое, что нужно сделать, — определить, какой из трёх рабочих способов подходит под вашу задачу: Docker-контейнер, установка Home Assistant Core в виртуальном окружении Python или полноценная виртуальная машина с Home Assistant OS.
В этой инструкции разберём все три варианта с командами, требованиями к системе и типичными ошибками. Материал ориентирован на свежие версии Ubuntu LTS, но общие принципы применимы и к другим выпускам — точные названия пакетов стоит сверять с официальной документацией вашей версии дистрибутива.
Способы установки: что выбрать
Home Assistant существует в нескольких редакциях, и от этого зависит вся дальнейшая процедура. Home Assistant OS — полноценная операционная система с поддержкой дополнений (add-ons), но она ставится либо на отдельное устройство, либо в виртуальную машину. Home Assistant Container — Docker-образ без магазина дополнений. Home Assistant Core — чистое Python-приложение, запускаемое в виртуальном окружении.
| Метод | Дополнения (add-ons) | Сложность | Кому подходит |
|---|---|---|---|
| Виртуальная машина с HA OS | Да | Средняя | Тем, кто хочет полный функционал |
| Docker (Container) | Нет | Низкая | Быстрый старт, опыт с Docker |
| Core (Python venv) | Нет | Высокая | Разработчикам и энтузиастам |
| Supervised | Да | Высокая | Только на Debian, не для Ubuntu |
⚠️ Внимание: метод Home Assistant Supervised официально поддерживается только на Debian. Установка на Ubuntu технически возможна, но система будет помечена как неподдерживаемая, и часть обновлений может работать некорректно. Для Ubuntu предпочтительнее Docker или виртуальная машина.
Подготовка системы
Перед установкой убедитесь, что система обновлена и у вас есть права sudo. Откройте терминал и выполните обновление индексов пакетов:
sudo apt update && sudo apt upgrade -y
Также проверьте, что машина имеет стабильное сетевое подключение и желательно статический IP-адрес (или зарезервированный адрес в настройках роутера) — иначе после смены адреса вы потеряете доступ к веб-интерфейсу. Для комфортной работы Home Assistant достаточно скромных ресурсов: пары гигабайт оперативной памяти и небольшого объёма диска, но при большом количестве интеграций и истории логов запас по диску лучше предусмотреть.
- 🖥️ Актуальная версия Ubuntu (рекомендуется LTS-выпуск)
- 🔑 Пользователь с правами sudo
- 🌐 Статический или зарезервированный IP-адрес сервера
- 💾 Свободное место на диске с запасом под базу данных и бэкапы
Метод 1: Установка через Docker
Это самый быстрый способ развернуть Home Assistant на Ubuntu. Сначала установите сам Docker. Проще всего использовать официальный репозиторий Docker, но для старта подойдёт и пакет из стандартных репозиториев Ubuntu:
sudo apt install docker.io -y
sudo systemctl enable --now docker
Затем создайте каталог для конфигурации и запустите контейнер. Ключевой момент — параметр --network=host, без которого не будут работать автоматическое обнаружение устройств в локальной сети и многие интеграции:
mkdir -p ~/homeassistant
sudo docker run -d \
--name homeassistant \
--privileged \
--restart=unless-stopped \
-e TZ=Europe/Moscow \
-v ~/homeassistant:/config \
--network=host \
ghcr.io/home-assistant/home-assistant:stable
Через пару минут после запуска интерфейс станет доступен в браузере по адресу http://IP-адрес-сервера:8123. При первом входе система предложит создать учётную запись администратора — это займёт несколько минут, так как в фоне подтягиваются зависимости.
☑️ Проверка после запуска контейнера
Метод 2: Виртуальная машина с Home Assistant OS
Если нужен магазин дополнений, полноценные бэкапы и Supervisor — ставьте Home Assistant OS в виртуальную машину. На Ubuntu для этого подойдёт KVM/QEMU с графическим управлением через Virtual Machine Manager (virt-manager).
Установите необходимые пакеты виртуализации:
sudo apt install qemu-kvm libvirt-daemon-system virt-manager -y
sudo usermod -aG libvirt $USER
После этого потребуется перелогиниться, чтобы членство в группе применилось. Далее скачайте готовый образ Home Assistant OS для платформы ova/ qcow2 с официального репозитория релизов проекта и импортируйте его как новый диск виртуальной машины. В настройках ВМ важно выбрать сетевой режим моста (bridge), чтобы Home Assistant получил адрес из вашей локальной сети, — иначе обнаружение устройств работать не будет.
⚠️ Внимание: при создании виртуальной машины с образом HA OS в virt-manager может потребоваться вручную указать тип прошивки UEFI — образ рассчитан на загрузку в режиме UEFI, и с BIOS по умолчанию машина может не стартовать. Точные параметры зависят от версии образа, сверяйтесь с официальной инструкцией по установке на виртуальные машины.
Почему сетевой мост критичен для Home Assistant
Многие интеграции (обнаружение умных колонок, телевизоров, принтеров, устройств по mDNS и SSDP) работают только когда Home Assistant находится в том же широковещательном домене, что и устройства. В режиме NAT виртуальная машина прячется за адресом хоста, и автопоиск устройств перестаёт работать — их придётся добавлять вручную по IP.
Метод 3: Home Assistant Core в Python-окружении
Этот вариант даёт максимальный контроль, но требует внимательности. Сначала установите зависимости — Python и сопутствующие библиотеки (точный список зависит от версии Ubuntu, сверяйтесь с документацией):
sudo apt install python3 python3-venv python3-pip libffi-dev libssl-dev -y
Затем создайте отдельного пользователя и виртуальное окружение, чтобы изолировать Home Assistant от системного Python:
sudo useradd -rm homeassistant -G dialout
sudo -u homeassistant -H -s
cd /srv && sudo mkdir homeassistant && sudo chown homeassistant:homeassistant homeassistant
python3 -m venv .
source bin/activate
pip install homeassistant
Первый запуск выполняется командой hass — он создаст конфигурацию в каталоге ~/.homeassistant. Для автозапуска потребуется создать systemd-сервис вручную: в Docker-варианте это решается флагом --restart=unless-stopped, а здесь — отдельным unit-файлом.
Настройка после установки
Независимо от метода, первые шаги после входа в интерфейс одинаковы. Система предложит указать название дома, местоположение, единицы измерения и часовой пояс — от корректного часового пояса зависят автоматизации по времени и восходу/закату.
Далее стоит сразу настроить резервное копирование. В Docker-варианте достаточно периодически архивировать примонтированный каталог конфигурации, а в HA OS есть встроенный механизм снапшотов. Также проверьте раздел обнаруженных устройств: если интеграции не находят технику в сети, почти наверняка проблема в сетевом режиме контейнера или ВМ.
- 📍 Укажите точное местоположение дома — нужно для погоды и солнечных автоматизаций
- 🕐 Проверьте часовой пояс в настройках системы и в параметре
TZконтейнера - 💾 Настройте регулярное резервное копирование конфигурации
- 🔍 Проверьте автообнаружение устройств в разделе «Интеграции»
Как обновлять Home Assistant в Docker
Остановите и удалите контейнер (docker stop homeassistant && docker rm homeassistant), затем скачайте свежий образ (docker pull ghcr.io/home-assistant/home-assistant:stable) и запустите контейнер заново с той же командой. Конфигурация сохранится, так как она лежит в примонтированном каталоге. Перед обновлением читайте примечания к релизу — иногда бывают ломающие изменения.
Типичные ошибки и их решение
Чаще всего пользователи сталкиваются с тем, что веб-интерфейс не открывается на порту 8123. Проверьте, запущен ли контейнер командой docker ps, и посмотрите его логи: docker logs homeassistant. Возможная причина — занятый порт или ошибка в конфигурации, которую Home Assistant честно напишет в лог.
Вторая частая проблема — не работает автоматическое обнаружение устройств после установки в Docker. Причина почти всегда в том, что контейнер запущен без --network=host. Пересоздайте контейнер с этим параметром — конфигурация при этом не пострадает.
Третья ситуация — ошибки прав доступа к USB-устройствам, например к Zigbee-стику. В Docker стик пробрасывается параметром --device=/dev/ttyUSB0 (имя устройства уточните командой ls /dev/serial/by-id/), а пользователя для Core-установки нужно добавить в группу dialout.
FAQ: частые вопросы
Можно ли установить Home Assistant Supervised на Ubuntu?
Технически это возможно через скрипт установки, но официально Supervised поддерживается только на Debian. На Ubuntu система получит статус неподдерживаемой, и стабильность обновлений не гарантируется. Если нужны дополнения — надёжнее поднять виртуальную машину с Home Assistant OS.
Какой порт использует Home Assistant и как его изменить?
По умолчанию веб-интерфейс работает на порту 8123. При запуске с --network=host порт задаётся в файле конфигурации configuration.yaml через параметр server_port в секции http:. После изменения требуется перезапуск.
Где хранятся настройки Home Assistant при установке в Docker?
В каталоге, который вы примонтировали к /config при создании контейнера — в примерах выше это ~/homeassistant. Именно этот каталог нужно включать в резервные копии: в нём лежат конфигурация, база данных и все интеграции.
Что выбрать для постоянной работы умного дома на Ubuntu-сервере?
Для круглосуточной работы практичнее всего Docker-контейнер с автоперезапуском или виртуальная машина с HA OS, если нужны дополнения. Вариант Core в venv требует ручного сопровождения и больше подходит для экспериментов и разработки.
Нужен ли статический IP для сервера с Home Assistant?
Строго обязательным это не является, но настоятельно желательно: при смене адреса сервера придётся заново искать веб-интерфейс, а интеграции, обращающиеся к Home Assistant по IP, могут отвалиться. Проще всего зарезервировать адрес за MAC-адресом сервера в настройках роутера.