Toegang tot Node-RED
- Open je browser en bezoek:
https://<SERVER_IP> - Een SSL-waarschuwing in de browser is normaal (selfsigned certificaat)
- Authenticatie is vereist (pop-up Basic Auth)
- Verificatiemethode: HTTP Basisverificatie
- Inloggegevens worden veilig opgeslagen in:
/root/.cloudzy-creds
Belangrijke bestanden en mappen
- De hoofdinstallatiemap is
/root/node-red. - Docker-orkestratiebestand is
/root/node-red/docker-compose.yml. - Persistente Node-RED-gegevens worden opgeslagen in
/var/lib/docker/volumes/node-red_node-red-data/_data. - Het Nginx-configuratiebestand bevindt zich op
/etc/nginx/sites-available/node-red. - Basisverificatiereferenties worden opgeslagen in
/etc/nginx/auth/node-red.htpasswd. - TLS-certificaten worden opgeslagen in
/etc/nginx/ssl.
Servicebeheer
Controleer containerstatus:
docker ps
Logs bekijken:
docker compose -f /root/node-red/docker-compose.yml logs -f
Start Node-RED opnieuw:
docker compose -f /root/node-red/docker-compose.yml restart
Start Nginx opnieuw:
systemctl restart nginx
Node-RED-beheerdersgebruiker (alternatief voor basisauthenticatie)
Node-RED heeft een eigen intern authenticatiesysteem, dat HTTP Basic Auth kan vervangen.
1. Lokaliseren settings.js
Het hoofdconfiguratiebestand bevindt zich in het Node-RED Docker-volume: /var/lib/docker/volumes/node-red_node-red-data/_data/settings.js
2. Inschakelen adminAuth
Open settings.js en verwijder het commentaar (of voeg het toe). adminAuth sectie. Het zou er ongeveer zo uit moeten zien:
adminAuth: {
type: "credentials",
users: [
{
username: "admin",
password: "<HASHED_PASSWORD>",
permissions: "*"
}]
},
3. Genereer een wachtwoordhash
Je kunt de hash genereren vanuit de Node-RED-container:
docker exec -it node-red-node-red-1 node-red admin hash-pw
U wordt gevraagd uw gewone wachtwoord in te voeren.
Kopieer de resulterende hash en plak deze als de password waarde in settings.js.
4. Start Node-RED opnieuw
Na bewerking settings.js:
docker compose -f /root/node-red/docker-compose.yml restart
5. Schakel HTTP Basic Auth uit in Nginx (optioneel)
Bewerk het Nginx-sitebestand: /etc/nginx/sites-available/node-red
Verwijder of becommentarieer deze regels:
auth_basic "Restricted";
auth_basic_user_file /etc/nginx/auth/node-red.htpasswd;
Nginx opnieuw laden:
systemctl restart nginx
SSL inschakelen met een domein
1. Wijs je domein naar het server-IP.
2. Pas de Nginx-config aan en vervang beide server_name <IP>; met je domein (<your-domain>) voor zowel de HTTP-blokken (poort 80) als de HTTPS-blokken (poort 443):
vim /etc/nginx/sites-available/node-red
3. Installeer Certbot:
apt install -y certbot python3-certbot-nginx
4. Voer het volgende commando uit om een geldig Let's Encrypt-certificaat te genereren:
certbot certonly --nginx --non-interactive --agree-tos --email [email protected] -d yourdomain.com
5. Vervang de SSL-paden in de Nginx-config:
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. Herstart Nginx om de wijzigingen door te voeren:
systemctl restart nginx
7. Open je browser en bezoek: https://yourdomain.com