Как установить Home Assistant на Ubuntu

Установка 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. При первом входе система предложит создать учётную запись администратора — это займёт несколько минут, так как в фоне подтягиваются зависимости.

☑️ Проверка после запуска контейнера

Выполнено: 0 / 4
📊 Какой метод установки Home Assistant вы выбрали?
Docker-контейнер
Виртуальная машина с HA OS
Core в Python venv
Ещё выбираю

Метод 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-адресом сервера в настройках роутера.