Mengakses Node-RED
- Buka browser Anda dan kunjungi:
https://<SERVER_IP> - Peringatan SSL di browser adalah hal yang wajar (sertifikat self-signed)
- Autentikasi diperlukan (popup Basic Auth)
- Metode autentikasi: HTTP Basic Auth
- Kredensial disimpan dengan aman di:
/root/.cloudzy-creds
File & Direktori Penting
- Direktori instalasi utama ada di
/root/node-red. - File orkestrasi Docker ada di
/root/node-red/docker-compose.yml. - Data Node-RED yang persisten disimpan di
/var/lib/docker/volumes/node-red_node-red-data/_data. - File konfigurasi Nginx ada di
/etc/nginx/sites-available/node-red. - Kredensial autentikasi dasar disimpan di
/etc/nginx/auth/node-red.htpasswd. - Sertifikat TLS disimpan di
/etc/nginx/ssl.
Service Management
Periksa status container:
docker ps
View logs:
docker compose -f /root/node-red/docker-compose.yml logs -f
Restart Node-RED:
docker compose -f /root/node-red/docker-compose.yml restart
Restart Nginx:
systemctl restart nginx
Admin User Node-RED (Alternatif untuk Basic Auth)
Node-RED memiliki sistem autentikasi internal sendiri yang dapat menggantikan HTTP Basic Auth.
1. Locate settings.js
File konfigurasi utama ada di dalam volume Docker Node-RED: /var/lib/docker/volumes/node-red_node-red-data/_data/settings.js
2. Enable adminAuth
Open settings.js dan hapus tanda komentar (atau tambahkan) adminAuth bagian berikut. Tampilannya akan seperti ini:
adminAuth: {
type: "credentials",
users: [
{
username: "admin",
password: "<HASHED_PASSWORD>",
permissions: "*"
}]
},
3. Buat hash kata sandi
Anda bisa membuat hash dari dalam container Node-RED:
docker exec -it node-red-node-red-1 node-red admin hash-pw
Anda akan diminta memasukkan kata sandi dalam bentuk teks biasa.
Salin hash yang dihasilkan dan tempelkan sebagai password value in settings.js.
4. Restart Node-RED
After editing settings.js:
docker compose -f /root/node-red/docker-compose.yml restart
5. Nonaktifkan HTTP Basic Auth di Nginx (Opsional)
Edit file site Nginx: /etc/nginx/sites-available/node-red
Hapus atau komentari baris-baris berikut:
auth_basic "Restricted";
auth_basic_user_file /etc/nginx/auth/node-red.htpasswd;
Reload Nginx:
systemctl restart nginx
Mengaktifkan SSL dengan Domain
1. Arahkan domain Anda ke IP server.
2. Edit konfigurasi Nginx dan ganti kedua server_name <IP>; dengan domain Anda (<your-domain>) untuk blok HTTP (port 80) dan HTTPS (port 443):
vim /etc/nginx/sites-available/node-red
3. Install Certbot:
apt install -y certbot python3-certbot-nginx
4. Jalankan perintah berikut untuk membuat sertifikat Let's Encrypt yang valid:
certbot certonly --nginx --non-interactive --agree-tos --email [email protected] -d yourdomain.com
5. Ganti path SSL di konfigurasi 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. Restart Nginx untuk menerapkan perubahan:
systemctl restart nginx
7. Buka browser Anda dan kunjungi: https://yourdomain.com