Panduan Lengkap Instalasi N8N di VPS EC2 + Docker + NGINX + SSL Let’s Encrypt
N8N adalah platform workflow automation open-source yang bisa dijalankan secara mandiri di server. Panduan ini menjelaskan cara menjalankan N8N di server VPS menggunakan Docker, reverse proxy NGINX, dan SSL dengan Let’s Encrypt.
🧱 1. Persiapan Server
Pastikan server Anda sudah:
- Ubuntu/CentOS dengan akses root atau
sudo - Domain aktif (misalnya:
ai.aditt.my.id) - Port 80 dan 443 terbuka (firewall/security group)
Install beberapa paket dasar:
sudo yum update -y
sudo yum install -y docker docker-compose nginx certbot python3-certbot-nginx
sudo systemctl enable --now docker nginx
🐳 2. Jalankan N8N dengan Docker Compose
Buat direktori untuk N8N:
mkdir ~/n8n && cd ~/n8n
Buat file docker-compose.yml:
services:
n8n:
image: n8nio/n8n
restart: always
ports:
- "5678:5678"
environment:
- N8N_BASIC_AUTH_ACTIVE=true
- N8N_BASIC_AUTH_USER=user123 #edit bagian ini
- N8N_BASIC_AUTH_PASSWORD=password123 #edit bagian ini
- N8N_HOST=ai.aditt.my.id #sesuaikan dan edit bagian ini
- N8N_PORT=5678
- N8N_PROTOCOL=https
- N8N_ENCRYPTION_KEY=randomkey1234567890 #sesuaikan dan edit bagian ini
- NODE_ENV=production
volumes:
- ~/.n8n:/home/node/.n8n
Jalankan Docker Compose:
docker compose up -d
🌐 3. Konfigurasi NGINX Reverse Proxy
Edit file konfigurasi NGINX:
sudo nano /etc/nginx/conf.d/ai.aditt.my.id.conf
Isi dengan konfigurasi berikut:
nginxCopyEditserver {
listen 80;
server_name ai.aditt.my.id;
# Redirect HTTP to HTTPS
return 301 https://$host$request_uri;
}
server {
listen 443 ssl;
server_name ai.aditt.my.id;
ssl_certificate /etc/letsencrypt/live/ai.aditt.my.id/fullchain.pem;
ssl_certificate_key /etc/letsencrypt/live/ai.aditt.my.id/privkey.pem;
ssl_protocols TLSv1.2 TLSv1.3;
ssl_prefer_server_ciphers on;
location / {
proxy_pass http://localhost:5678/;
proxy_http_version 1.1;
proxy_set_header Upgrade $http_upgrade;
proxy_set_header Connection "upgrade";
proxy_set_header Host $host;
proxy_cache_bypass $http_upgrade;
}
}
🔒 4. Generate SSL Let’s Encrypt
Jalankan perintah berikut:
sudo certbot --nginx -d ai.aditt.my.id
Ikuti instruksi hingga selesai. Setelah berhasil, restart NGINX:
sudo systemctl restart nginx
✅ 5. Akses N8N
Sekarang Anda bisa mengakses N8N via:
https://ai.aditt.my.id
📌 Catatan Tambahan
- Anda tidak perlu akses ke port 5678 secara langsung karena sudah melalui proxy HTTPS port 443.
- Pastikan
N8N_ENCRYPTION_KEYtidak berubah agar data tetap aman. - Untuk backup, cukup salin isi folder
~/.n8n. - edit domain ai.aditt.my.id sesuaikan dengan alamat ip publicny bagian A @ ip publik dari aws