Умный дом, ага. Купил значит несколько приблуд от 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


Для моего велокомпьютера выпустили карты России, скачать можно здесь: http://global.igpsport.com/home/osmmap


Вверху страницы надо выбрать регион "russia", а Чебоксары (поволжье) - область "Russia_5" (ссылка на скачивание).


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

docker update --restart=on-failure имя_контейнера


Замучил меня такой баг, что при попытке зайти в сетевое окружение через kwin, вылезало сообщение об ошибке (вроде kio падал).

Я уж и самбу пересобирал и kio-extras...

А оказывается надо просто в конфиге самбы прописать в секции [global] строку

client max protocol = NT1

И рестартнуть сервис самбы :)


Юнит для автозапуска ArchiSteamFarm под systemd.

nano /etc/systemd/system/asf.service

Красным выделил строки которые надо бы поправить:

[Unit]
Description=Archi Steam Farm
After=network-online.target

[Service]
Type=simple
User=имя_пользователя
EnvironmentFile=/etc/environment
Environment="MONO_ENV_OPTIONS=--desktop"
ExecStart=/usr/bin/mono /путь/до/бинарника/ArchiSteamFarm.exe
Restart=always
RestartSec=15s

[Install]
WantedBy=multi-user.target
Alias=asf.service