Skip to content
> 0x2d.dev
Назад

Установка Home Assistant в Docker-контейнере


После того, как мы настроили Docker и Portainer можно приступить к Home Assistant. HA будет располагаться в своем контейнере. И по мере наших манипуляций количество контейнеров будет увеличиваться. Тем самым мы разграничим области ответственности и изолируем данные друг от друга.

Установка Home Assistant Container

Настройка довольно проста. Нам необходимо добавить в docker-compose.yaml новый сервис. Сразу после секции с Portainer вставляем новый сервис.

version: '3.0'

services:
  portainer:     # часть 2
    [...]

  homeassistant:
    container_name: homeassistant
    image: "ghcr.io/home-assistant/home-assistant:stable"
    restart: unless-stopped
    privileged: true
    ports:
      - "8123:8123"
    environment:
      - TZ=Europe/Moscow
    volumes:
      - ./homeassistant/:/config
      - /etc/localtime:/etc/localtime:rodocker-compose.yaml

А так же создаём новую папку для homeassistant. В которой появится вся конфигурация после запуска.

mkdir homeassistant

После чего запускаем новый контейнер. Так как мы добавили новый контейнер, то только он и будет запущен. А Portainer останется работающим.

docker compose up -d

Запуск Docker контейнеров

Docker скачает и запустит все необходимые зависимости. После чего можно зайти в Portainer и увидеть, что у нас появился новый контейнер.

Portainer Home Assistant

Первая настройка Home Assistant

После того, как новый контейнер появился, заходим по адресу

http://<ip>:8123

И у нас должен открыться экран первой настройки системы. Следуя инструкциям заполняем все поля и завершаем установку.

Первоначальная настройка Home Assistant Чистый Home Assistant

Как итог мы получаем готовый инстанс Home Assistant. Который полностью готов к работе. Единственным минусом является отсутствие supervisor. Но это легко решается добавлением нового Docker контейнера с необходимым функционалом.

В дальнейшем мы посмотрим как это можно сделать. Настроим MQTT и перейдём на другую базу данных.

Если разобраться как работает HA в версии операционной системе, то станет понятно, что мы повторяем его функционал. Так как в ОС он так же поднимает необходимые Docker контейнеры. Но не дает доступ в саму систему.

Добавляем Portainer

Для быстрого доступа в Portainer можно добавить iframe в интерфейс HA. Для этого перейдём в конфигурацию homeassistant/configuration.yaml и добавим данный код и перезапустим HA (не забудьте поменять ip адрес)

panel_iframe:
  portainer:
    title: Portainer
    url: "https://<ip>:9443/#!/2/docker/containers"
    icon: mdi:docker
    require_admin: trueconfiguration.yaml

Home Assistant Portainer

Итоговая структура проекта

Папка homeassistant заполнилась автоматически. В ней находится основная конфигурация Home Assistant. При дальнейших перезапусках данные будут браться из неё.

home-assistant
├── docker-compose.yaml
├── homeassistant
│   ├── ...
│   └── configuration.yaml
└── portainer

Предыдущая запись
Установка и настройка File Editor в Docker-контейнере
Следующая запись
HA