Главная страницаHome AssistantHome Assistant в Docker ContainerDocker часть 3: Home Assistant Container
Docker часть 3: Home Assistant Container

Docker часть 3: Home Assistant Container

После того, как мы настроили 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:ro

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

mkdir homeassistant

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

docker compose up -d

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

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

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

http://<ip>:8123

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

Как итог мы получаем готовый инстанс 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: true

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

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

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

Список всех частей

Был ли полезен материал?

Мне очень важно получать обратную связь. Пожалуйста, оцените материал. Так я пойму в какую сторону его стоит изменить.

Комментарии
  • Roman
    Roman
    02.03.2024 10:37

    Не хватает настройки watchtower под все это дело.
    А-то приходится в ручном режиме ходить на сервер и выполнять:

    docker compose down && docker compose pull && docker compose up -d --remove-orphans && docker image prune -f
    • Alexander Pushkarev
      Alexander Pushkarev
      02.03.2024 13:29

      Думаю написать еще 2 статьи: автообновление, автоматические бэкапы. Как будет время обязательно сделаю.

Оставить комментарий