Блог

Установка Deconz в докер с активацией просмотра mesh сети

Данный вариант не является установкой аддона в hassio, это отдельный докер контейнер с отдельными настройками. Бонусом мы получаем просмотр MESH сети через GUI интерфейс Deconz вот в таком виде:

Дошел я до этого по причине конфликта портов между контейнерами (MotionEye лезет на 8080 и выше и они друг другу мешаются)

У меня aarch64 платформа, а в официальной документации написано что поддерживаются только amd64 и armhf

Но ведь докеру жеж пофигу по идее....

ан нет.... если мы идем и делаем просто

docker pull marthoc/deconz

то нам говорят фигушки... (если у вас не Raspberry Pi конечно, тогда можете смело переходить к разделу Запуск этого блога, только не забудьте поменять ваш_юзернейм/deconz:local на marthoc/deconz)

Но у меня aarch64 платформа, а деконза хочется.... поэтому придется его собирать локально и обманывать :))))

Последовательность такая:

git clone https://github.com/marthoc/docker-deconz.git cd docker-deconz docker build -t "ваш_юзернейм/deconz:local"./armhf

Оно начнет собираться и по идее должно собраться :)

Ну а потом нам надо будет просто запустить контейнер.

Причем есть нюансы. Конфиг ему надо дать хранить где то в доступном месте... например /usr/share/deconz ну или по выбору.... остановимся на этой папке

Запуск

docker run -d \ --name=deconz \ --net=host \ --restart=always \ -v /etc/localtime:/etc/localtime:ro \ -v /opt/deconz:/root/.local/share/dresden-elektronik/deCONZ \ -e DECONZ_WS_PORT=9181 \ -e DECONZ_WEB_PORT=9180 \ -e DECONZ_VNC_MODE=1 \ -e TZ=Asia/Yekaterinburg \ -e DECONZ_VNC_PORT=5900 \ -e DECONZ_VNC_PASSWORD=1122334455 \ --device=/dev/ttyUSB0 \ ваш_юзернейм/deconz:local

Где указываем веб порт 9180, порт для вебсокета 9181, включаем VNC и прописываем ему пароль. Плюс выставляем часовой пояс для правильного времени в логах.... в принципе все...

Обновление образа

docker stop deconz docker rm deconz cd /home/ваш_юзернейм rm -rf docker-deconz git clone https://github.com/marthoc/docker-deconz.git cd docker-deconz docker build -t "ваш_юзернейм/deconz:local"./armhf docker run -d \ --name=deconz \ --net=host \ --restart=always \ -v /etc/localtime:/etc/localtime:ro \ -v /opt/deconz:/root/.local/share/dresden-elektronik/deCONZ \ -e DECONZ_WS_PORT=9181 \ -e DECONZ_WEB_PORT=9180 \ -e DECONZ_VNC_MODE=1 \ -e TZ=Asia/Yekaterinburg \ -e DECONZ_VNC_PORT=5900 \ -e DECONZ_VNC_PASSWORD=1122334455 \ --device=/dev/ttyUSB0 \ ваш_юзернейм/deconz:local

Альтернативный вариант через экспериментальные функции Docker

Нам нужно сконфигурировать docker daemon для использования экспериментальных функций

Для этого выполняем:

sudo nano /etc/docker/daemon.json

Добавляем туда:

{ "experimental": true }

Сохраняем, выходим и перезапускаем docker

sudo systemctl restart docker

После этого проверяем что функции включились:

docker version -f '{{.Server.Experimental}}'

Должны получить true

и после этого можно качать образ deconz с указанием конкретной платформы

docker pull --platform=armhf marthoc/deconz

Запуск

docker run -d \ --name=deconz \ --net=host \ --restart=always \ -v /etc/localtime:/etc/localtime:ro \ -v /opt/deconz:/root/.local/share/dresden-elektronik/deCONZ \ -e DECONZ_WS_PORT=9181 \ -e DECONZ_WEB_PORT=9180 \ -e DECONZ_VNC_MODE=1 \ -e TZ=Asia/Yekaterinburg \ -e DECONZ_VNC_PORT=5900 \ -e DECONZ_VNC_PASSWORD=1122334455 \ --device=/dev/ttyUSB0 \ marthoc/deconz

Если вы делали локальную сборку по первой части статьи, то нужно будет сначала удалить старый вариант

docker stop deconz docker rm deconz docker rmi ваш_юзернейм/deconz:local

и потом уже выполнить команду из раздела Запуск

Обновление альтернативной версии

docker stop deconz docker rm deconz docker pull --platform=armhf marthoc/deconz docker run -d \ --name=deconz \ --net=host \ --restart=always \ -v /etc/localtime:/etc/localtime:ro \ -v /opt/deconz:/root/.local/share/dresden-elektronik/deCONZ \ -e DECONZ_WS_PORT=9181 \ -e DECONZ_WEB_PORT=9180 \ -e DECONZ_VNC_MODE=1 \ -e TZ=Asia/Yekaterinburg \ -e DECONZ_VNC_PORT=5900 \ -e DECONZ_VNC_PASSWORD=1122334455 \ --device=/dev/ttyUSB0 \ marthoc/deconz:latest

Обновление прошивки

docker stop deconz docker run -it --rm --entrypoint "/firmware-update.sh" --privileged --cap-add=ALL -v /dev:/dev -v /lib/modules:/lib/modules -v /sys:/sys ИМЯ_ОБРАЗА docker start deconz

  • Если устанавливали по первому варианту, то вместо ИМЯ_ОБРАЗА прописываете ваш_юзернейм/deconz:local
  • Если по альтернативному то то вместо ИМЯ_ОБРАЗА прописываете marthoc/deconz
0

Вернуться назад
Вернуться назад