скидка 50% все планы, ограниченное время. Начиная от $2.48/mo
Узел-RED

Узел-RED

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

Версия

Последний

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

Ubuntu Server 24.04 LTS

Мин. БАРАН

1 GB

Типы IP

ИПВ4, ИПВ6

Доступ к Node-RED

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

Основной файл конфигурации находится внутри тома Node-RED Docker: /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 в Nginx (необязательно).

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

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

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

Перезагрузите Нгинкс:

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/мес.