Skip to main content
Скидка 50% все планы, ограниченное время. Начиная от $2.48/mo
Node-RED

Node-RED

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

Версия

Новейший

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

Ubuntu Server 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. Выполните следующую команду, чтобы сгенерировать валидный сертификат 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/мес.