0
Keranjang Anda
0
Keranjang Anda

Install n8n diAWSDenganNGIX

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_KEY tidak 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