Home Assistant в режиме восстановления после настройки SSL

Home Assistant может уйти в режим восстановления (recovery mode) после настройки SSL, если проверка конфигурации не находит файлы сертификата. Пользователям форума помогали исправление путей внутри контейнера, монтирование отдельных файлов или их копирование в доступный каталог.

Как выглядит проблема

При использовании сертификатов Nginx Proxy Manager проверка конфигурации Home Assistant может выдать такую ошибку:

Invalid config for 'http' at configuration.yaml, line 28: not a file for dictionary value 'http->ssl_certificate', got '/npmssl/fullchain.pem'
Invalid config for 'http' at configuration.yaml, line 29: not a file for dictionary value 'http->ssl_key', got '/npmssl/privkey.pem'

Смысл записи одинаков - файла нет по указанному пути с точки зрения Home Assistant, даже если на диске хоста он существует.

Причины

Путь к файлу на хосте может отличаться от пути внутри контейнера. Другая причина - символическая ссылка, то есть ссылка на файл в другом каталоге. Каждая из этих причин описана в одной из двух веток форума.

ПричинаКак проверитьЧто сделать
Конфигурация указывает на пути хоста, а не на пути внутри контейнераСравнить путь из ошибки с монтированиями контейнераИсправить путь к сертификату в конфигурации
Файлы сертификата в каталоге live/ - символические ссылки на другое местоПроверить, доступны ли внутри контейнера файлы, на которые ведут ссылкиСмонтировать сами файлы или скопировать их в доступный каталог

Что помогает

Исправление путей, монтирование отдельных файлов и копирование сертификатов помогли каждое в 1 ветке форума из 1, где прием пробовали. Сообщений о неудаче для этих трех приемов нет.

Для первого приема укажите в http: пути внутри контейнера - под /config или под другим смонтированным каталогом. В примере пользователя ssl_certificate указывает на /config/fullchain.pem, а ssl_key - на /config/privkey.pem.

В документации интеграции http указан абсолютный путь к TLS-сертификату для защищенного соединения, например /ssl/fullchain.pem.

Второй прием - смонтировать в Docker Compose отдельные файлы сертификата по тем же путям, которые указаны в конфигурации. Про установку Container в целом написано в гайде Home Assistant в Docker.

      - /data/compose/63/letsencrypt/live/npm-14/fullchain.pem:/data/compose/63/letsencrypt/live/npm-14/fullchain.pem
      - /data/compose/63/letsencrypt/live/npm-14/privkey.pem:/data/compose/63/letsencrypt/live/npm-14/privkey.pem

Третий прием - скопировать реальные файлы сертификата в каталог, доступный контейнеру, и сослаться на них. В примере пользователя закомментированы прежние варианты путей, рабочие строки - две последние:

http:
#  ssl_certificate: /ssl/fullchain.pem
#  ssl_key: /ssl/privkey.pem
#  ssl_certificate: /npmssl/fullchain.pem
#  ssl_key: /npmssl/privkey.pem
  ssl_certificate: /ssl/tmp/fullchain.pem
  ssl_key: /ssl/tmp/privkey.pem

Если не помогло

Пути вида /config/config и монтирование с подстановкой $(readlink -f …) не помогли пользователям форума. Для каждого приема есть 1 сообщение о неудаче в 1 ветке и ни одного об успехе. Пример неудачного монтирования:

 - $(readlink -f /data/compose/63/letsencrypt/live/npm-14/fullchain.pem):/ssl/fullchain.pem
 - $(readlink -f /data/compose/63/letsencrypt/live/npm-14/privkey.pem):/ssl/privkey.pem

Частые вопросы

Нужен ли перезапуск после правки путей?

Да, в успешном случае после правки путей пользователь перезапустил Home Assistant, затем обновил страницу в браузере. Эта последовательность относится к решению с изменением ssl_certificate и ssl_key в configuration.yaml. О результате сообщили в 1 ветке форума - там помог весь набор действий с путями, перезапуском и обновлением страницы.

Помогает ли прямой путь в archive/?

Результат этого варианта неизвестен. В 1 ветке форума предлагали указать реальные пути к сертификату и ключу в archive/ и обеспечить доступ контейнера к этим файлам. Там приводили команду sudo chmod -R 755 /data/compose/63/letsencrypt/archive/npm-14. Сообщений об успехе или неудаче нет, а предложенный конфиг выглядел так:

http:
  ssl_certificate: /data/compose/63/letsencrypt/archive/npm-14/fullchain2.pem
  ssl_key: /data/compose/63/letsencrypt/archive/npm-14/privkey2.pem

Можно ли обойтись без правки configuration.yaml?

Да, начиная с Home Assistant 2026.8 настройки http можно редактировать в интерфейсе. Откройте Настройки → Система → Сеть (Settings → System → Network) и блок HTTP server. Это доступный в новых версиях способ изменить настройки HTTP-сервера без редактирования configuration.yaml. Общую организацию доступа извне описывает гайд об удаленном доступе к Home Assistant.

Для каких установок описаны решения?

Оба случая относятся к Home Assistant Container (Docker). Первая ветка форума создана 13 июля 2024 года и посвящена включению SSL в Docker Compose. Вторая появилась 2 января 2026 года и касается сертификатов Nginx Proxy Manager. Указаний на конкретные версии Home Assistant в этих случаях нет.

Андрей Ковалев, редактор. Собирает решения из веток форума Home Assistant и сверяет команды и настройки с официальной документацией.