Docker часть 4: File Editor
Для быстрого доступа к configuration.yaml Home Assistant приходится каждый раз подключаться к SSH и производить изменения. Это занимает определенное время, которого иногда не хватает. Для облегчения процесса редактирования файлов подключим File Editor. Который в свою очередь добавит в web интерфейс онлайн редактор кода.
Так как мы используем Docker, то там подойдет абсолютно любой редактор, который разворачивается в контейнере. Их существует большое количество. Рассмотрим два самых популярный редактора.
File Editor
Самый популярный способ добавить редактор кода. Примитивный редактор кода, в котором есть все необходимое.
Готовая конфигурация:
hass-configurator:
container_name: hassconf
image: causticlab/hass-configurator-docker
restart: unless-stopped
environment:
- HC_BASEPATH=/hass-config
- DIRSFIRST=true
ports:
- "3218:3218/tcp"
volumes:
- ./fileeditor:/config
- ./homeassistant:/hass-config
Studio Code Server
Полноценный, мощный редактор кода. Идеально решение, очень сильно помогает не ошибиться. Есть возможность добавить сторонние плагины.
Готовая конфигурация:
code-server:
image: lscr.io/linuxserver/code-server:latest
container_name: code-server
restart: unless-stopped
environment:
- PUID=1000
- PGID=1000
- TZ=Europe/Moscow
volumes:
- ./codeserver:/config
ports:
- "8443:8443"
Устанавливаем редактор
После выбора редактора, переходим к добавлению в Docker и Home Assistant. Мы остановились на File Editor. Но про примеру можно заменить на Studio Code Server.
Открываем docker-compose.yaml и добавляем новый блок с сервисом
version: '3.0'
services:
portainer: # часть 2
[...]
homeassistant: # часть 3
[...]
hass-configurator:
container_name: hassconf
image: causticlab/hass-configurator-docker
restart: unless-stopped
environment:
- HC_BASEPATH=/hass-config
- HC_DIRSFIRST=true
ports:
- "3218:3218/tcp"
volumes:
- ./fileeditor:/config
- ./homeassistant:/hass-config
А так же создаем новую папку для Configurator. В которой появится вся конфигурация после запуска.
mkdir fileeditor
И последним пунктом запускаем новый контейнер
docker compose up -d
Добавляем редактор в Home Assistant
По примеру с Portainer для быстрого доступа из web интерфейса добавим Configurator в боковую колонку. Открываем homeassistant/configuration.yaml
и добавим данный код и перезапустим HA (не забудьте поменять ip адрес)
panel_iframe:
portainer: # часть 3
[...]
configurator:
title: Configurator
icon: mdi:wrench
url: "http://<ip>:3218"
require_admin: true
Итоговая структура проекта
home-assistant
├── docker-compose.yaml
├── fileeditor
├── homeassistant
└── portainer