Підключення до Node-RED
- Відкрийте браузер і перейдіть за адресою:
https://<SERVER_IP> - Попередження браузера SSL очікується (самопідписний сертифікат)
- Потрібна автентифікація (спливаюче вікно Basic Auth)
- Метод автентифікації: HTTP Basic Auth
- Облікові дані зберігаються в захищеному вигляді в:
/root/.cloudzy-creds
Важливі файли та директорії
- Головна директорія встановлення:
/root/node-red. - Docker orchestration file is
/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.
Service Management
Перевірити статус контейнера:
docker ps
View logs:
docker compose -f /root/node-red/docker-compose.yml logs -f
Перезапустити Node-RED:
docker compose -f /root/node-red/docker-compose.yml restart
Restart Nginx:
systemctl restart nginx
Node-RED Адміністратор (альтернатива Basic Auth)
Node-RED має власну вбудовану систему автентифікації, яка може замінити HTTP Basic Auth.
1. Locate settings.js
Головний файл конфігурації знаходиться всередині тому Node-RED Docker: /var/lib/docker/volumes/node-red_node-red-data/_data/settings.js
2. Enable adminAuth
Open 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 value in settings.js.
4. Перезапустіть Node-RED
After editing 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;
Reload 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. Install 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