Запуск Home Assistant в Docker
Есть несколько вариантов установки Home Assistant. Ранее мы рассказывали про установку на Raspberry PI. Там вскользь упомянули Docker. А в этой статье будет рассказано как в несколько строк создать расширяемый проект. И в дальнейшем в него можно добавить внешние docker контейнеры, например как Zigbee2MQTT.
При такой установке у нас пропадает supervisor. Который позволяет устанавливать некоторые дополнения, а также обновлять систему. Но это не такая большая проблем, как кажется на первый взгляд. Дополнения можно добавить дополнительным контейнером, а про обновления мы поговорим чуть ниже.
Мы подготовили полный курс, как запустить Home Assistant и все его зависимости в Docker. Каждый шаг расписан детально. От установки Debian до подключения к MQTT. Подробнее Home Assistant в Docker Container
Настройка проекта
Первым делом необходимо создать структуру проекта:
home-assistant
├── /config
├── Makefile
└── docker-compose.yml
Во время первого запуска папка с конфигом будет автоматически заполнена. После чего вы сможете отредактировать его любым удобным редактором.
Docker compose
Здесь будет располагаться основная конфигурация запуска Home Assistant. В содержимое docker-compose.yml необходимо вставить следующий код:
version: '3'
services:
homeassistant:
container_name: homeassistant
image: ghcr.io/home-assistant/home-assistant:stable
volumes:
- ./config:/config
- /etc/localtime:/etc/localtime:ro
ports:
- "8123:8123"
restart: always
Makefile
Makefile — содержит в себе набор команд для быстрой работы с контейнерами. Но является необязательным. Но с его помощью будет гораздо удобнее работать. Грубо говоря это сокращение команд.
start:
docker compose up -d
stop:
docker compose stop
restart:
docker compose restart
Файл содержит всего 3 команды. Название говорит само за себя. Так же вы можете добавить и свои команды.
Чтобы запустить их необходимо написать в терминале make название команды.
Запуск проекта
В зависимости от того, какой способ работы вы выбрали, вводим в терминале команду для запуска.
Первый раз docker загрузит все необходимые контейнеры и в дальнейшем будет их использовать. На загрузку потребуется буквально 1 минута. После чего переходим в браузере по адресу
http://localhost:8123/
Где нас встречает интерфейс создания учетной записи и первая настройка.
Обновление Home Assistant
Так как в docker мы лишаемся возможности обновления изнутри, то надо как-то решать эту проблему. Для этого в docker-compose.yml достаточно указать необходимую версию. В текущем конфиге это 2023.4. После чего выполнить перезагрузку контейнера.