Хороший Сервер для умного дома: https://alii.pub/6y787u?erid=2SDnjdVoKTf
Прежде чем приступить к материалу, я Вас попрошу, если нравится то, что я делаю и хотите следить за моей деятельностью, то рекомендую подписаться на мой телеграмм канал: https://t.me/ypavla
Там я публикую новости о вышедших видео, статьях и разные устройства для умного дома и не только показываю.
Спасибо за внимание, теперь продолжим.
Проснувшись 30.05.2024 года в России и попытавшись обновить\установить Аддоны в Home Assistant мы получили вот такую ошибку:
“Can’t install homeassistant/amd64-addon-deconz:6.23.0: 404 Client Error for http+docker://localhost/v1.44/images/create?tag=6.23.0&fromImage=homeassistant%2Famd64-addon-deconz&platform=linux%2Famd64: Not Found (“pull access denied for homeassistant/amd64-addon-deconz, repository does not exist or may require ‘docker login’: denied: <html><body><h1>403 Forbidden</h1> Since Docker is a US company, we must comply with US export control regulations. In an effort to comply with these, we now block all IP addresses that are located in Cuba, Iran, North Korea, Republic of Crimea, Sudan, and Syria. If you are not in one of these cities, countries, or regions and are blocked, please reach out to https://hub.docker.com/support/contact/ </body></html> “)”
Эту ошибку мы получили потому, что Российские ip адреса заблокировал docker hub. А в Docker hub подавляющее большинство образов докер размещалось.
Как итог, мы теперь не можем множество аддонов устанавливать. Почему множество? потому что не все аддоны Home Assistant находятся в docker hub. По этому некоторые все-же будут устанавливаться. Ну и обновлять аддоны тоже не сможем естественно. так как при обновлении аддона, он по сути устанавливается заново, сохраняя только конфиги.
И что же сделать, чтоб обойти эту блокировку со стороны docker? На самом деле есть несколько решений:
- Это через VPN пустить ваш сервер и таким образом блокировка Нас не затронет.
- Это самой программе docker указать прокси сервер, чтоб через него ходил докер и качал аддоны. Так как через прокси мы тоже обманываем систему и Docker Hub будет думать, что мы не из России.
Вот второй способ я здесь и покажу.
Настройку прокси соединения тоже разобью на 3 типа.
- Настройка прокси соединения на сервере линукс debian или ubuntu с установленным Home Assistant. Например на TVBox приставке именно такая установка Home Assistant.
- Настройка прокси соединения на сервере умного дома на Home Assistant OS. То есть установленный Home Assistant на официальной операционной системе Home Assistant.
- Настройка прокси другим аддоном Adguard. Это самый простой способ. Можно сразу идти к нему. Это решение нашлось у AlexxIT.
Настройка прокси соединения на Linux:
На Linux тут все довольно просто. У нас же Home Assistant Supervisor – это же на бор docker контейнеров которые работают сообща и каждый аддон, это плюс один еще новый контейнер.
По этому когда Вы устанавливаете Home Assistant supervisor на Линукс debian или Ubuntu, Вы в первую очередь устанавливаете саму программу docker. Так-что считаем, что докер у Вас уже установлен.
Сам же Docker поддерживает работу через прокси. По этому достаточно в конфиг добавить адрес прокси. Это делается следующим образом.
Открываем файл для редактирования /etc/docker/daemon.json
nano /etc/docker/daemon.json
И в этот файл нужно добавить адрес прокси. Адрес прокси добавим такой:
По итогу весь конфиг выглядит следующим образом: https://dockerhub.timeweb.cloud
{
"log-driver": "journald",
"storage-driver": "overlay2",
"ip6tables": true,
"experimental": true,
"registry-mirrors": [
"https://dockerhub.timeweb.cloud"
],
"log-opts": {
"tag": "{{.Name}}"
}
}
Сам же адрес https://dockerhub.timeweb.cloud это прокси от timeweb – это Российская команда, так что доверие к этому прокси у меня имеется. Но всеравно помните, что Вы все это делаете на свой страх и риск и запоминайте.
Так-же есть еще несколько адресов прокси (не Российских). На случай если этот заблокируют. “https://mirror.gcr.io”, “https://daocloud.io”, “https://c.163.com/”, “https://huecker.io/”, “https://registry.docker-cn.com”.
Собственно эти адреса можно сразу добавить. И выглядеть будет код конфига вот так:
{
"log-driver": "journald",
"storage-driver": "overlay2",
"ip6tables": true,
"experimental": true,
"registry-mirrors": [
"https://mirror.gcr.io",
"https://daocloud.io",
"https://c.163.com/",
"https://huecker.io/",
"https://registry.docker-cn.com"
],
"log-opts": {
"tag": "{{.Name}}"
}
}
В общем сохраняем конфиг. Лучше все-же первый с одним адресом прокси. После этого перезагружаем сервер. Докер перезапустить может не хватить. После перезагрузки наслаждаемся установкой и обновлением аддонов.
Настройка прокси в Home Assistant OS (HAOS):
В HAOS так просто не добраться до конфигов docker. И тут нужен другой подход.
Тут в Home Assistant нужно установить дополнение Advanced SSH & Web Terminal
Это дополнение качается и устанавливается не через docker hub. По этому оно у Вас установится без проблем.
Скачиваем его и перед запуском нужно снять галочку “Режим защиты операционной системы”
Далее переходим в “Конфигурацию” и тут в графу password пишем какой-нибудь password. Я написал test. И после этого запускаем аддон.
После запуска переходим в ВЕБ-ИНТЕРФЕЙС и у нас откроется консоль.
В эту консоль нужно ввести следующую команду:
docker run -it --privileged --rm -v /dev:/dev --pid host cr.yandex/crp4oik6lbkii54bpnne/squashfs-tools sh -c "echo 'bWtkaXIgL21udC9zZGEzCnVuc3F1YXNoZnMgLWQgL21udC9zZGEzIC9kZXYvc2RhMwphcGsgYWRkIGpxCmpxICcuICsgeyJyZWdpc3RyeS1taXJyb3JzIjogWyJodHRwczovL21pcnJvci5nY3IuaW8iXX0nIC9tbnQvc2RhMy9ldGMvZG9ja2VyL2RhZW1vbi5qc29uID4gL21udC9zZGEzL2V0Yy9kb2NrZXIvZGFlbW9uX3RtcC5qc29uICYmIG12IC9tbnQvc2RhMy9ldGMvZG9ja2VyL2RhZW1vbl90bXAuanNvbiAvbW50L3NkYTMvZXRjL2RvY2tlci9kYWVtb24uanNvbgpta3NxdWFzaGZzIC9tbnQvc2RhMyAvbW50L3NkYTMuc3F1YXNoZnMgCnRydW5jYXRlIC1zIDI2ODQzNTQ1NiAvbW50L3NkYTMuc3F1YXNoZnMgCmRkIGlmPS9tbnQvc2RhMy5zcXVhc2hmcyBvZj0vZGV2L3NkYTMKZGQgaWY9L2Rldi9zZGEzIG9mPS9kZXYvc2RhNQplY2hvIC1lICJcblxuUkVCT09UIEhBIE9TIE5PV1xuXG4iIApyZWJvb3QgLWYK' | base64 -d > /tmp/script.sh && sh /tmp/script.sh"
Во время выполнения, начнут скачиваться конфиги, и прописываться в нужные места. После чего перезагрузится автоматически сервер Home Assistant.
А после перезагрузки Аддоны начнут устанавливаться без проблем, но до момента обновления операционной системы Home Assistant. После обновления все поломается и нужно будет снова этот скрипт запускать.
Настройка прокси с помощью специального дополнения AdGuard без правки конфигов:
Первым делом устанавливаем дополнение AdGuard. Оно установится без проблем. Устанавливаем и запускаем его.
После запуска открываем ВЕБ-ИНТЕРФЕЙС:
В открывшемся окне идём в Настройки -> Настройки DNS -> Upstream DNS – серверы
В окно Upstream DNS-серверы добавляем [/docker.com/docker.io/]https://dns.controld.com/comss . После чего ниже нажимаем кнопку “Тест upstream серверов” – чтоб удостовериться что все у нас правильно в конфиг добавлено. И нажимаем кнопку применить.
С аддоном разобрались и дело осталось за малым.
Нам нужно добавить DNS сервер теперь в сетевые настройки Home Assitant.
Для этого идем в Настройки-> Система-> Сетевые интерфейсы -> тут выбираем IPv4 -> ставим галочку на “Статический” -> в поле DNS-серверы вписываем адрес “127.0.0.1”.
Тем самым мы DNS заворачиваем на сам сервер Home Assistant. Ну а так как у нас на самом сервере уже DNS AdGuard настроен, то все будет работать. В общем сохраняем.
Все готово. Больше ничего перезагружать не надо и править. Просто идём в Дополнения и устанавливаем нужный Вам.
Пример взят отсюда: https://gist.github.com/AlexxIT/f01a1498048045fc73844f53a47494fe
И тут начали люди повторять этот способ и возникла у некоторых проблема. Что не работает данный способ. А не работает он из-за DNS сервера выставленного в Upstream DNS-серверы . По умолчанию стоит адрес: https://dns10.quad9.net/dns-query и у меня он заработал без проблем. Но у некоторых нет. Не знаю с чем это связано. ПО этому можно попробовать выставить DNS яндекса. 77.88.8.8 и 77.88.8.1
По итогу должно выглядеть вот так:
Вывод:
Надеюсь эта статья была Вам полезна. Прокси конечно не совсем безопасный метод. Так как там могут злоумышленники свой докер образ подсунуть и делов на делать. По этому все прокси подряд необдуманно не надо ставить. Старайтесь ставить только проверенные. А лучше всего использовать метод с AdGuard.