Node-RED: различия между версиями

Строка 88: Строка 88:


=== Решение проблем ===
=== Решение проблем ===
Иногда, если во флоу есть ошибка, то веб-интерфейс Node-RED может перестать загружаться, в этом случае нужно проверить  логи сервиса nodered.
Иногда, если во флоу есть ошибка, то веб-интерфейс Node-RED может перестать загружаться, в этом случае нужно подключиться к контроллеру по [[SSH]] и посмотреть логи контейнера nodered.
<syntaxhighlight lang="bash">
docker logs nodered
</syntaxhighlight>


Если в логах будет видна ошибка во флоу, то:
Если в логах будет видна ошибка во флоу, то надо пересоздать контейнер с safe-запуском:
# Подключиться к контроллеру по [[SSH]].
#  
# Остановить службу, если она запущена:
# Остановить службу, если она запущена:
#: <syntaxhighlight lang="bash">
#: <syntaxhighlight lang="bash">
systemctl stop nodered
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'
</syntaxhighlight>
# Запустить Node-RED в безопасном режиме:
#: <syntaxhighlight lang="bash">
node-red --safe
</syntaxhighlight>
</syntaxhighlight>
# Установить проблему и остановить запущенный в безопасном режиме Node-RED.
# После этой команды Node-Red запустится в безопасном режиме и не запустит деплой при старте. После исправления ошибки надо снова пересоздать контейнер с правильной командой.  
# Снова запустить сервис:
#: <syntaxhighlight lang="bash">
#: <syntaxhighlight lang="bash">
systemctl start nodered
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
</syntaxhighlight>
</syntaxhighlight>


12

правок