Репозиторий node-red/node-red на GitHub — это официальный источник кода визуальной среды программирования Node-RED, и именно оттуда берутся все релизы, исправления ошибок и инструкции по сборке. Если вы ищете, где скачать Node-RED, как установить его из исходников или опубликовать собственную ноду в каталоге flows.nodered.org — вся цепочка действий проходит через GitHub.
Node-RED — инструмент потокового программирования на базе Node.js, который активно применяется в IoT, домашней автоматизации и интеграции API. В этой статье разберём, как устроен официальный репозиторий, какие способы установки существуют, как подключить git к проектам внутри редактора и как избежать типичных ошибок при работе с кодом сообщества.
Что находится в официальном репозитории Node-RED на GitHub
Основной репозиторий расположен в организации node-red и содержит монорепозиторий из нескольких пакетов: ядро рантайма, редактор, узлы по умолчанию и CLI-инструменты. Там же публикуются issues с багами и предложениями, релизные заметки и roadmap проекта.
Кроме основного репозитория, организация ведёт сопутствующие проекты: node-red-docker с официальными Docker-образами, node-red-dashboard для построения интерфейсов и документацию. Разработчики сообщества размещают свои ноды в собственных репозиториях, а каталог flows.nodered.org индексирует их по тегу node-red в package.json.
Ключевые разделы репозитория, которые полезно знать:
- 🔧 Issues — поиск известных ошибок перед тем, как сообщать о новой проблеме
- 📦 Releases — список версий и changelog для оценки изменений перед обновлением
- 📖 Wiki и документация — ссылки на официальные гайды и API
- 🧩 Pull Requests — можно отслеживать, какие функции войдут в следующий релиз
Способы установки Node-RED: npm, Docker и сборка из GitHub
Стандартный способ установки — через менеджер пакетов npm, при этом сам пакет собирается из того же GitHub-репозитория. Для этого требуется установленный Node.js поддерживаемой версии (актуальные требования указаны в README репозитория).
npm install -g --unsafe-perm node-red
После установки среда запускается командой node-red, а редактор открывается в браузере по адресу http://localhost:1880. Если нужна конкретная версия, её можно указать явно: npm install -g node-red@номер_версии.
Для разработчиков и контрибьюторов предусмотрена сборка из исходников. Репозиторий клонируется командой:
git clone https://github.com/node-red/node-red.git
Дальнейшие шаги сборки описаны в документации репозитория и могут меняться между версиями, поэтому сверяйтесь с актуальным README вместо устаревших инструкций из сторонних статей.
Встроенная интеграция проектов с git
В Node-RED есть функция Projects, которая превращает каждый проект в полноценный git-репозиторий с историей версий потоков. Она включается в файле настроек settings.js через параметр projects.enabled — после перезапуска в редакторе появится диалог создания или клонирования проекта.
Проект можно связать с удалённым репозиторием на GitHub: редактор поддерживает работу по SSH и HTTPS. Для HTTPS-подключения потребуется personal access token, поскольку GitHub давно отключил аутентификацию по паролю для git-операций. Токен создаётся в настройках аккаунта GitHub в разделе Developer settings.
☑️ Подключение проекта Node-RED к GitHub
⚠️ Внимание: файл с учётными данными нод (
flows_cred.json) содержит секреты в зашифрованном виде, но ключ шифрования хранится в настройках проекта. Никогда не публикуйте ключ в открытом репозитории и не коммитьте файлы с паролями в открытом виде — проверяйте содержимое коммита перед push.
Установка сторонних нод с GitHub
Большинство дополнительных нод устанавливается через палитру (Manage palette) из каталога flows.nodered.org, но напрямую с GitHub тоже можно. Для этого используется команда npm с адресом репозитория:
npm install git+https://github.com/автор/репозиторий.git
Команду выполняют в каталоге пользовательских данных Node-RED (по умолчанию ~/.node-red), после чего среду перезапускают. Этот способ удобен, когда нужна версия ноды, ещё не опубликованная в npm, или конкретная ветка с исправлением.
⚠️ Внимание: ноды из непроверенных репозиториев выполняются с правами процесса Node-RED и могут читать файлы, сетевые данные и секреты. Перед установкой изучите код, количество звёзд, активность поддержки и открытые issues — заброшенные пакеты нередко содержат уязвимые зависимости.
Публикация собственной ноды на GitHub и в каталоге
Чтобы ваша нода появилась в палитре у других пользователей, нужно выполнить несколько условий. Репозиторий размещается на GitHub, пакет публикуется в npm с ключевым словом node-red в package.json, а затем каталог flows.nodered.org индексирует его автоматически.
Структура минимальной ноды включает JavaScript-файл с логикой, HTML-файл с описанием внешнего вида в редакторе и корректно заполненный package.json. В секции node-red.nodes указывается соответствие имён нод и файлов.
- 📝 README.md — описание с примерами использования, отображается в каталоге
- 🏷️ Теги релизов — помогают пользователям отслеживать версии
- 🧪 Тесты — повышают доверие сообщества к пакету
- 📄 Лицензия — без неё многие компании не смогут использовать вашу ноду
Как каталог flows.nodered.org находит новые ноды
Каталог периодически сканирует npm-реестр по ключевому слову node-red в package.json. Если нода не появилась, проверьте, что ключевое слово указано именно в массиве keywords, пакет опубликован публично, а в настройках каталога можно запросить принудительное обновление страницы пакета.
Сравнение способов установки Node-RED
Выбор метода зависит от задачи: для быстрого старта достаточно npm, для изоляции удобнее Docker, а сборка из GitHub нужна в основном контрибьюторам.
| Способ | Сложность | Кому подходит | Особенности |
|---|---|---|---|
| npm глобально | Низкая | Большинству пользователей | Быстрая установка и обновление |
| Docker-образ | Средняя | Серверы, Home Assistant | Изоляция, тома для данных |
| Сборка из GitHub | Высокая | Разработчики ядра | Доступ к dev-веткам |
| Предустановленная | Минимальная | Raspberry Pi, образы HA | Обновление зависит от дистрибутива |
Типичные проблемы и их решения
Частая ошибка при клонировании проектов в редакторе — отказ аутентификации GitHub. Причина почти всегда в попытке использовать пароль вместо personal access token или в отсутствии у токена нужных прав. Решение — пересоздать токен с областью repo и повторить подключение.
Вторая типичная ситуация — конфликт при слиянии потоков, когда файл flows.json редактировался одновременно в разных ветках. Node-RED показывает конфликты в интерфейсе проектов, но сложные случаи проще разрешать внешним git-клиентом, а затем перезапускать редактор.
Если после установки ноды с GitHub она не появилась в палитре, проверьте лог запуска Node-RED: там указывается причина — от синтаксической ошибки в пакете до несовместимости версий. Каталог установки тоже имеет значение: пакет, поставленный не в ~/.node-red, редактор не увидит.
Часто задаваемые вопросы
Где найти официальный репозиторий Node-RED на GitHub?
Официальный репозиторий находится в организации node-red на GitHub и называется node-red. Там же размещены сопутствующие проекты: Docker-образы, dashboard и документация.
Можно ли установить Node-RED напрямую с GitHub без npm?
Да, репозиторий клонируется через git clone, после чего проект собирается по инструкции из README. Этот способ предназначен в основном для разработчиков; обычным пользователям проще установить готовый пакет через npm.
Почему Node-RED не подключается к GitHub по паролю?
GitHub отключил аутентификацию по паролю для git-операций. Вместо пароля используйте personal access token с правами repo или настройте SSH-ключи.
Как обновить ноду, установленную с GitHub?
Повторите команду установки с адресом репозитория в каталоге ~/.node-red — npm подтянет актуальное состояние ветки. После обновления перезапустите Node-RED.
Безопасно ли хранить flows.json в публичном репозитории?
Сам файл потоков обычно не содержит паролей — они хранятся в отдельном зашифрованном файле credentials. Однако перед публикацией проверьте поток на вшитые в ноды токены, URL с ключами и персональные данные.