Node-RED docker: различия между версиями
Brainroot (обсуждение | вклад) |
Brainroot (обсуждение | вклад) |
(нет различий)
|
Текущая версия на 19:13, 6 августа 2024
Описание
Инструкция прислана пользователем, мы её не проверяли. Используйте на свой страх и риск. Инструкцию по работе с 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