Node-RED docker: различия между версиями
Строка 1: | Строка 1: | ||
{{DISPLAYTITLE: Установка Node-RED в docker }} | {{DISPLAYTITLE: Установка Node-RED в docker — альтернативный способ установки }} | ||
== Описание == | == Описание == | ||
Инструкцию по работе с Node-RED на контроллере находится на странице [[Node-RED | Установка Node-RED на контроллер Wiren Board]]. | Инструкцию по работе с Node-RED на контроллере находится на странице [[Node-RED | Установка Node-RED на контроллер Wiren Board]]. |
Версия 10:51, 3 апреля 2023
Описание
Инструкцию по работе с Node-RED на контроллере находится на странице Установка Node-RED на контроллер Wiren Board.
Здесь приведён альтернативный вариант — установка через docker.
Установка
Для установки Node-RED на контроллер Wiren Board подключитесь к нему по SSH и введите в консоль несколько команд.
- Установите docker по инструкции.
- Создайте каталог под служебные файлы:
mkdir /mnt/data/root/nodered chown -R 1000:1000 /mnt/data/root/nodered chmod -R 777 /mnt/data/root/nodered
- Запустите образ nodered — docker автоматически загрузит его из интернет и запустит:
docker run -d --name nodered --privileged --restart=unless-stopped -e TZ=Europe/Moscow -v /mnt/data/root/nodered:/data -e NODE_OPTIONS="--max_old_space_size=256" --network=host nodered/node-red
После установки и запуска, откройте браузер и введите адрес своего контроллера в сети и порт 1880. Например: http://192.168.42.1:1880 Консоль можно закрыть.
Решение проблем
Иногда, если во флоу есть ошибка, то веб-интерфейс Node-RED может перестать загружаться, в этом случае нужно подключиться к контроллеру по SSH и посмотреть логи контейнера nodered.
docker logs nodered
Если в логах будет видна ошибка во флоу, то надо пересоздать контейнер с safe-запуском:
- Остановить службу, если она запущена:
docker stop nodered ; docker rm nodered && docker run -d --name nodered --privileged --restart=unless-stopped -e TZ=Europe/Moscow -v /mnt/data/root/nodered:/data -e NODE_OPTIONS="--max_old_space_size=256" --network=host --entrypoint "/bin/bash" nodered/node-red -c 'npm start -- --userDir /data --safe'
- После этой команды Node-Red запустится в безопасном режиме и не запустит деплой при старте. После исправления ошибки надо снова пересоздать контейнер с правильной командой.
docker stop nodered ; docker rm nodered && docker run -d --name nodered --privileged --restart=unless-stopped -e TZ=Europe/Moscow -v /mnt/data/root/nodered:/data -e NODE_OPTIONS="--max_old_space_size=256" --network=host nodered/node-red
Для доступа в контейнер (например, для установки и использования node-red-admin) можно воспользоваться такой командой:
docker exec -it nodered /bin/bash
После этого можно установить node-red-admin:
npm install --location=global --unsafe-perm node-red-admin