Accessing Node-RED
- Nyissa meg a böngészőjét, és látogasson el a következő weboldalra:
https://<SERVER_IP> - A böngésző várhatóan SSL-figyelmeztetést jelenít meg (önaláírt tanúsítvány)
- Hitelesítés szükséges (Basic Auth felugró ablak)
- Hitelesítési módszer: HTTP Basic Auth
- A hitelesítő adatok biztonságosan tárolva vannak a következő helyen:
/root/.cloudzy-creds
Fontos fájlok és könyvtárak
- Main installation directory is
/root/node-red. - Docker orchestration file is
/root/node-red/docker-compose.yml. - Persistent Node-RED data is stored in
/var/lib/docker/volumes/node-red_node-red-data/_data. - Nginx configuration file is located at
/etc/nginx/sites-available/node-red. - Basic authentication credentials are stored in
/etc/nginx/auth/node-red.htpasswd. - TLS certificates are stored in
/etc/nginx/ssl.
Szolgáltatásmenedzsment
Konténer állapotának ellenőrzése:
docker ps
Naplók megtekintése:
docker compose -f /root/node-red/docker-compose.yml logs -f
Restart Node-RED:
docker compose -f /root/node-red/docker-compose.yml restart
Indítsa újra az Nginx-et:
systemctl restart nginx
Node-RED Admin User (Alternative to Basic Auth)
Node-RED has its own internal authentication system, which can replace HTTP Basic Auth.
1. Locate settings.js
The main configuration file is inside the Node-RED Docker volume: /var/lib/docker/volumes/node-red_node-red-data/_data/settings.js
2. Enable adminAuth
Nyitva settings.js and uncomment (or add) the adminAuth section. It should look something like this:
adminAuth: {
type: "credentials",
users: [
{
username: "admin",
password: "<HASHED_PASSWORD>",
permissions: "*"
}]
},
3. Generate a password hash
You can generate the hash from inside the Node-RED container:
docker exec -it node-red-node-red-1 node-red admin hash-pw
You will be prompted to enter your plain password.
Copy the resulting hash and paste it as the password value in settings.js.
4. Restart Node-RED
After editing settings.js:
docker compose -f /root/node-red/docker-compose.yml restart
5. Disable HTTP Basic Auth in Nginx (Optional)
Edit the Nginx site file: /etc/nginx/sites-available/node-red
Remove or comment out these lines:
auth_basic "Restricted";
auth_basic_user_file /etc/nginx/auth/node-red.htpasswd;
Nginx újratöltése:
systemctl restart nginx
SSL engedélyezése domainnel
1. Irányítsa domainjét a szerver IP-címére.
2. Szerkessze az Nginx konfigurációt, és cserélje ki mindkettőt server_name <IP>; a domainjével (<your-domain>) mind a HTTP (80-as port), mind a HTTPS (443-as port) blokkok esetében:
vim /etc/nginx/sites-available/node-red
3. Telepítse a Certbotot:
apt install -y certbot python3-certbot-nginx
4. Futtassa a következő parancsot egy érvényes Let’s Encrypt tanúsítvány létrehozásához:
certbot certonly --nginx --non-interactive --agree-tos --email [email protected] -d yourdomain.com
5. Cserélje ki az SSL útvonalakat az Nginx konfigurációban:
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. Indítsa újra az Nginx-et a változások alkalmazásához:
systemctl restart nginx
7. Nyissa meg a böngészőjét, és látogasson el a következő webhelyre: https://yourdomain.com