Přístup k Node-RED
- Otevřete prohlížeč a přejděte na:
https://<SERVER_IP> - Varování prohlížeče o SSL je očekávané (self-signed certifikát)
- Vyžaduje se ověření (vyskakovací okno Basic Auth)
- Metoda ověření: HTTP Basic Auth
- Přihlašovací údaje jsou bezpečně uloženy v:
/root/.cloudzy-creds
Důležité soubory a adresáře
- Hlavní instalační adresář je
/root/node-red. - Orchestrační soubor Docker je
/root/node-red/docker-compose.yml. - Trvalá data Node-RED jsou uložena v
/var/lib/docker/volumes/node-red_node-red-data/_data. - Konfigurační soubor Nginx se nachází v
/etc/nginx/sites-available/node-red. - Přihlašovací údaje pro základní ověření jsou uloženy v
/etc/nginx/auth/node-red.htpasswd. - Certifikáty TLS jsou uloženy v
/etc/nginx/ssl.
Service Management
Zkontrolovat stav kontejneru:
docker ps
View logs:
docker compose -f /root/node-red/docker-compose.yml logs -f
Restartovat Node-RED:
docker compose -f /root/node-red/docker-compose.yml restart
Restart Nginx:
systemctl restart nginx
Uživatelský účet správce Node-RED (alternativa k základnímu ověření)
Node-RED má vlastní interní autentizační systém, který může nahradit HTTP Basic Auth.
1. Locate settings.js
Hlavní konfigurační soubor se nachází uvnitř Docker volume Node-RED: /var/lib/docker/volumes/node-red_node-red-data/_data/settings.js
2. Enable adminAuth
Open settings.js a odkomentujte (nebo přidejte) sekci adminAuth Mělo by to vypadat přibližně takto:
adminAuth: {
type: "credentials",
users: [
{
username: "admin",
password: "<HASHED_PASSWORD>",
permissions: "*"
}]
},
3. Vygenerujte hash hesla
Hash lze vygenerovat přímo uvnitř kontejneru Node-RED:
docker exec -it node-red-node-red-1 node-red admin hash-pw
Budete vyzváni k zadání hesla v čitelné podobě.
Zkopírujte výsledný hash a vložte jej jako password value in settings.js.
4. Restartujte Node-RED
After editing settings.js:
docker compose -f /root/node-red/docker-compose.yml restart
5. Vypněte HTTP Basic Auth v Nginx (volitelné)
Upravit soubor Nginx site: /etc/nginx/sites-available/node-red
Odstraňte nebo zakomentujte tyto řádky:
auth_basic "Restricted";
auth_basic_user_file /etc/nginx/auth/node-red.htpasswd;
Reload Nginx:
systemctl restart nginx
Povolení SSL s vlastní doménou
1. Nasměrujte svou doménu na IP adresu serveru.
2. Upravte konfiguraci Nginx a nahraďte obě hodnoty server_name <IP>; svou doménou (<your-domain>) pro bloky HTTP (port 80) i HTTPS (port 443):
vim /etc/nginx/sites-available/node-red
3. Install Certbot:
apt install -y certbot python3-certbot-nginx
4. Spusťte následující příkaz pro vygenerování platného certifikátu Let's Encrypt:
certbot certonly --nginx --non-interactive --agree-tos --email [email protected] -d yourdomain.com
5. Nahraďte cesty SSL v konfiguraci 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. Restartujte Nginx, aby se změny projevily:
systemctl restart nginx
7. Otevřete prohlížeč a přejděte na: https://yourdomain.com