Скидка 50% на все тарифы, ограниченное время. От $2.48/mo
Node-RED

Node-RED

Node-RED — визуальный инструмент программирования на основе потоков. Логика строится перетаскиванием блоков: IoT, API и пайплайны домашней автоматизации, более 4000 узлов от сообщества. Разработан IBM, проект OpenJS Foundation — стандартный движок автоматизации в промышленном IoT.

Версия

Новейший

Операционная система

Сервер Ubuntu 24.04 LTS

Мин. RAM

1 GB

Типы IP

IPV4,IPV6

Доступ к Node-RED

  • Откройте браузер и перейдите по адресу: https://<SERVER_IP>
  • Предупреждение SSL в браузере ожидаемо (самоподписанный сертификат)
  • Требуется аутентификация (всплывающее окно Basic Auth)
  • Метод аутентификации: HTTP Basic Auth
  • Учётные данные хранятся в защищённом виде в: /root/.cloudzy-creds

Важные файлы и директории

  • Основная директория установки: /root/node-red.
  • Файл оркестрации Docker: /root/node-red/docker-compose.yml.
  • Постоянные данные Node-RED хранятся в /var/lib/docker/volumes/node-red_node-red-data/_data.
  • Конфигурационный файл Nginx расположен по адресу /etc/nginx/sites-available/node-red.
  • Учётные данные для базовой аутентификации хранятся в /etc/nginx/auth/node-red.htpasswd.
  • Сертификаты TLS хранятся в /etc/nginx/ssl.

Управление сервисом

Проверить статус контейнера:

docker ps

Просмотреть логи:

docker compose -f /root/node-red/docker-compose.yml logs -f

Перезапустить Node-RED:

docker compose -f /root/node-red/docker-compose.yml restart

Перезапуск Nginx:

systemctl restart nginx

Пользователь-администратор Node-RED (альтернатива базовой аутентификации)

Node-RED имеет собственную встроенную систему аутентификации, которая может заменить HTTP Basic Auth.

1. Найдите settings.js

Основной конфигурационный файл находится внутри тома Docker контейнера Node-RED: /var/lib/docker/volumes/node-red_node-red-data/_data/settings.js

2. Включите adminAuth

Откройте settings.js и раскомментируйте (или добавьте) секцию adminAuth Она должна выглядеть примерно так:

  adminAuth: {
      type: "credentials",
      users: [
          {
              username: "admin",
              password: "<HASHED_PASSWORD>",
              permissions: "*"
      }]
  },

3. Сгенерируйте хеш пароля

Хеш можно сгенерировать внутри контейнера Node-RED:

docker exec -it node-red-node-red-1 node-red admin hash-pw

Система запросит ввод пароля в открытом виде.

Скопируйте полученный хеш и вставьте его в качестве значения password в файле settings.js.

4. Перезапустите Node-RED

После редактирования settings.js:

docker compose -f /root/node-red/docker-compose.yml restart

5. Отключите HTTP Basic Auth в Nginx (необязательно)

Отредактируйте файл сайта Nginx: /etc/nginx/sites-available/node-red

Удалите или закомментируйте эти строки:

auth_basic "Restricted";
auth_basic_user_file /etc/nginx/auth/node-red.htpasswd;

Перезагрузите Nginx:

systemctl restart nginx

Подключение SSL с собственным доменом

1. Направьте ваш домен на IP-адрес сервера.

2. Откройте конфигурацию Nginx и замените оба вхождения server_name <IP>; на ваш домен («<your-domain>) для блоков HTTP (порт 80) и HTTPS (порт 443):

vim /etc/nginx/sites-available/node-red

3. Установите Certbot:

apt install -y certbot python3-certbot-nginx

4. Выполните следующую команду, чтобы получить SSL-сертификат от Let's Encrypt:

certbot certonly --nginx --non-interactive --agree-tos --email [email protected] -d yourdomain.com

5. Замените пути SSL в конфигурации Nginx:

vim /etc/apache2/sites-available/node-red
# Before:
    # ssl_certificate /etc/nginx/ssl/fullchain.pem;
    # ssl_certificate_key /etc/nginx/ssl/privkey.pem;
# After:
    # ssl_certificate /etc/letsencrypt/live/yourdomain.com/fullchain.pem;
    # ssl_certificate_key /etc/letsencrypt/live/yourdomain.com/privkey.pem;

6. Перезапустите Nginx, чтобы применить изменения:

systemctl restart nginx

7. Откройте браузер и перейдите по адресу: https://yourdomain.com

Другие инструменты разработки

Похожие приложения.

Развернуть Node-RED прямо сейчас. От $2.48/мес.