Главная страницаHome AssistantHome Assistant в Docker ContainerDocker часть 4: File Editor
Docker часть 4: File Editor

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

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

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

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

Комментарии
  • Денис
    Денис
    17.11.2023 01:51

    Не совсем понятно. Поставил Studio Code Server. В итоге я не вижу своих папок с home assistant и тд. Как я понимаю — я нахожусь врунтри контейнера с code server, который изолирован от контейнера и home asistant и нужно как-то папки расшарить между контейнерами? Или общий volume сделать?

  • Павел
    Павел
    26.12.2023 17:14

    Благодарю за статью. Возник вопрос, как получить доступ к корню home-assistant из Studio Code Server? По-умолчанию он видит только свою директорию. Заранее спасибо за ответ.

  • Артемий
    Артемий
    06.03.2024 20:32

    Стоит отметить, что в конфигурации code-server в качестве PGID стоит отмечать не номер группы пользователя, а группы docker (можно посмотреть в файле /etc/group)

  • Alex
    Alex
    17.04.2024 22:55

    Эти редакторы крутятся в контейнере, каким образом можно получить доступ к конфигам HA ?

  • Александр
    Александр
    20.04.2024 11:35

    поставил vscode а там arminer((((

  • Алексей
    Алексей
    23.11.2024 03:01

    Добрый день!
    Пытаюсь сделать как у Вас, но при проверке конфигурации перед прочтением появляется ошибка:
    Предупреждения конфигурации
    Integration error: panel_iframe — Integration ‘panel_iframe’ not found.

    Как мне ее поправить, подскажите, что я делаю не верно?
    не получается добавить ни Portain, ни файловый редактор.

  • Алексей
    Алексей
    26.11.2024 00:58

    Добрый день!
    Очень интересные и познавательные статьи, получилось поднять НА в контейнере, но почем уто не получается настроить File Editor, ни в какую о не хочет у меня работать. при попытке в yaml файл прописать
    panel_iframe:
    portainer: # часть 3
    […]
    configurator:
    title: Configurator
    icon: mdi:wrench
    url: «http://:3218»
    require_admin: true
    он ругается на panel_iframe: и говорит что там ошибка. НА у меня последней версии. подскажите, что делаю не так?

  • vell
    vell
    08.12.2024 21:35

    У меня почему-то не добавляется в левую панель ни докер ни файл эдитор
    2024-12-08 21:31:47.965 ERROR (MainThread) [homeassistant.setup] Setup failed for ‘panel_iframe’: Integration not found.

  • saneea
    saneea
    25.12.2024 20:55

    Для докер-компоуз сервиса hass-configurator в environment переменных не лишним будет задать HC_USERNAME и HC_PASSWORD. Таким образом сможем сделать примитивную авторизацию для доступа к конфигуратору через basic-аутентификацию. Она конечно выглядит костыльно, у неё нет логаута и без https её использование сомниительно (если есть доступ из интернета), но это лучше чем ничего.

  • saneea
    saneea
    25.12.2024 21:00

    В первом месте переменная HC_DIRSFIRST для causticlab/hass-configurator-docker прописана как DIRSFIRST (без префикса «HC_»)

  • Александр
    Александр
    05.02.2025 21:50

    Добрый день. Спасибо за статью. В новых версиях HA вместо panel_iframe используется panel_custom не подскажете как ее настраивать?

    • Иван
      Иван
      02.03.2025 07:15

      Тоже долго мучался пока не глянул комменты, дублирую это здесь: заходим в «Настройки», выбираем «Панели», затем жмём «Добавить панель», в появившимся окне выбираем «Веб-страница», указываем URL, затем название панели и выбираем иконку. Всё, панель появляется. Решение нашёл вот здесь: https://pimylifeup.com/home-assistant-docker-compose/

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