Home Assistant + Docker + Let's Encrypt

Умный дом, ага. Купил значит несколько приблуд от Xiaomi, собрал пару девайсов на ESP8266, теперь дело стало за софтовой частью. Раньше ставил Home Assistant через virtualenv, но прогресс не стоит на месте, теперь модно юзать Docker, хе-хе.

В общем, вот в чём мякотка: home assistant работает себе в docker-контейнере, порт проброшен во внешний мир.

Но захотелось чтобы работало через https с сертификатом от let's encrypt. Мучался я и так и этак, пробовал создавать симлинки на файлы сертификатов, читал много мануалов на английском языке. А там что только не предлагали, и использовать reverse-proxy taerifik (кек!) и настроить certbot'а чтобы он генерировал сертификаты в подпапку home assistant'а (даблкек!). Решилось все пробросом папки /etc/letsencrypt/ в контейнер по пути /config/ssl. Тогда симлинки сгенерированные certbot'ом отрабатывают корректно и нужно просто добавить пару строчек в конфиг.

/etc/systemd/system/home-assistant.service

[Unit]
Description=Home Assistant
Requires=docker.service
After=docker.service

[Service]
Restart=always
RestartSec=3
ExecStart=/usr/bin/docker run --name=home-assistant -v /home/homeassistant/.homeassistant/:/config -v /etc/letsencrypt/:/config/ssl -v /etc/localtime:/etc/localtime:ro --net=host homeassistant/home-assistant
ExecStop=/usr/bin/docker stop -t 2 home-assistant
ExecStopPost=/usr/bin/docker rm -f home-assistant

[Install]
WantedBy=multi-user.target

ну и секция http из конфига home assistant:

configuration.yaml

http:
  ssl_certificate: /config/ssl/live/имя_домена/fullchain.pem
  ssl_key: /config/ssl/live/имя_домена/privkey.pem
  base_url: https://имя_домена:8123