Install N8N di VM Ubuntu 22.04: Perbedaan antara revisi

Dari Dokumentasi Robie
Loncat ke navigasi Loncat ke pencarian
Baris 100: Baris 100:
<pre>
<pre>
docker compose up -d
docker compose up -d
Jika berhasil akan muncul tampilan seperti berikut
[+] Running 14/14
✔ n8n Pulled                                                            44.1s
  ✔ fe07684b16b8 Pull complete                                            1.5s
  ✔ 49b72e7e39fe Pull complete                                            6.4s
  ✔ c1ab3b052759 Pull complete                                            6.5s
  ✔ 845179b1d451 Pull complete                                            6.5s
  ✔ ad03744990d9 Pull complete                                            7.4s
  ✔ 4f4fb700ef54 Pull complete                                            7.5s
  ✔ 82fe61b89c46 Pull complete                                          35.5s
  ✔ 8bbefc0a3d20 Pull complete                                          35.7s
  ✔ 61fa1f23038c Pull complete                                          35.8s
  ✔ e0b8394f15f7 Pull complete                                          35.9s
  ✔ 43ef2e487a4a Pull complete                                          36.0s
  ✔ 6e7f4382f6c9 Pull complete                                          36.7s
  ✔ 554527a3fe56 Pull complete                                          37.4s
[+] Running 2/2
✔ Network n8n_n8n-network  Created                                        0.0s
✔ Container n8n-n8n-1  Started                                            0.2s
</pre>
</pre>


Baris 107: Baris 129:
<pre>
<pre>
docker compose ps
docker compose ps
docker compose logs -f
 
Menghasilkan tampilan seperti berikut:
NAME        IMAGE      COMMAND                  SERVICE  CREATED          STATUS          PORTS
n8n-n8n-1  n8nio/n8n  "tini -- /docker-ent…"  n8n      13 seconds ago  Up 12 seconds  0.0.0.0:5678->5678/tcp, [::]:5678->5678/tcp
 
 
 
 
docker compose ps
 
Menghasilkan tampilan seperti berikut:
total 484
drwxrwxr-x 6 robie robie  4096 Aug 12 15:03 .
drwxrwxr-x 3 robie robie  4096 Aug 12 15:03 ..
drwxr-xr-x 2 robie robie  4096 Aug 12 15:03 binaryData
-rw-r--r-- 1 robie robie    38 Aug 12 15:03 config
-rw-r--r-- 1 robie robie      0 Aug 12 15:03 crash.journal
-rw-r--r-- 1 robie robie 462848 Aug 12 15:03 database.sqlite
drwxr-xr-x 2 robie robie  4096 Aug 12 15:03 git
-rw-r--r-- 1 robie robie      0 Aug 12 15:03 n8nEventLog.log
drwxr-xr-x 2 robie robie  4096 Aug 12 15:03 nodes
drwxr-xr-x 2 robie robie  4096 Aug 12 15:03 ssh
 
</pre>
</pre>
Tekan <code>Ctrl+C</code> untuk berhenti dari log.
Tekan <code>Ctrl+C</code> untuk berhenti dari log.

Revisi per 12 Agustus 2025 15.49

✅ Langkah 1: Persiapan VM di Proxmox

Pastikan VM kamu sudah:

  • Berjalan dengan OS Ubuntu 22.04
  • Memiliki koneksi internet
  • Akses SSH (direkomendasikan)
  • Minimal 2 GB RAM (4 GB lebih baik untuk n8n)
  • Minimal 20 GB storage

Asumsi:

  • IP VM: 192.178.0.12 (ganti sesuai IP kamu)
  • Hostname: n8n-server
  • User: ubuntu atau root

✅ Langkah 2: Update & Upgrade Sistem

Login ke VM via SSH, lalu jalankan:

sudo apt update && sudo apt upgrade -y

✅ Langkah 3: Install Docker & Docker Compose

n8n paling mudah dijalankan dengan Docker.

1. Install Docker

sudo apt install -y apt-transport-https ca-certificates curl gnupg lsb-release
curl -fsSL https://download.docker.com/linux/ubuntu/gpg | sudo gpg --dearmor -o /usr/share/keyrings/docker-archive-keyring.gpg
echo "deb [arch=$(dpkg --print-architecture) signed-by=/usr/share/keyrings/docker-archive-keyring.gpg] https://download.docker.com/linux/ubuntu $(lsb_release -cs) stable" | sudo tee /etc/apt/sources.list.d/docker.list > /dev/null
sudo apt update
sudo apt install -y docker-ce docker-ce-cli containerd.io

2. Tambahkan user ke grup docker

Ganti ubuntu dengan user kamu:

sudo usermod -aG docker robie

Log out dan log in kembali agar grup diterapkan.

3. Install Docker Compose (versi plugin)

sudo apt install -y docker-compose-plugin
docker compose version

✅ Langkah 4: Buat Direktori untuk n8n

mkdir -p ~/n8n && cd ~/n8n

✅ Langkah 5: Buat docker-compose.yml

nano docker-compose.yml

Tempel konfigurasi berikut:

services:
  n8n:
    image: n8nio/n8n
    restart: unless-stopped
    ports:
      - "5678:5678"
    environment:
      - N8N_HOST=192.168.0.12 # Ganti dengan IP VM
      - N8N_PORT=5678
      - N8N_PROTOCOL=http
      - N8N_BASE_URL=http://192.168.0.12:5678 # Ganti dengan IP VM
      - N8N_SECURE_COOKIE=false
      - NODE_ENV=production
      - N8N_BASIC_AUTH_ACTIVE=true
      - N8N_BASIC_AUTH_USER=admin
      - N8N_BASIC_AUTH_PASSWORD=rahasia123   # Ganti dengan password kuat!
      - N8N_ENCRYPTION_KEY=mysecretenckey    # Ganti dengan kunci acak panjang!
    volumes:
      - ./data:/home/node/.n8n
    networks:
      - n8n-network

networks:
  n8n-network:
    driver: bridge

Catatan Keamanan:

  • Ganti N8N_BASIC_AUTH_PASSWORD dengan password kuat.
  • Ganti N8N_ENCRYPTION_KEY dengan string acak panjang.
  • N8N_HOST bisa diubah ke domain jika pakai reverse proxy.

✅ Langkah 6: Jalankan n8n dengan Docker Compose

docker compose up -d

Jika berhasil akan muncul tampilan seperti berikut

[+] Running 14/14
 ✔ n8n Pulled                                                             44.1s
   ✔ fe07684b16b8 Pull complete                                            1.5s
   ✔ 49b72e7e39fe Pull complete                                            6.4s
   ✔ c1ab3b052759 Pull complete                                            6.5s
   ✔ 845179b1d451 Pull complete                                            6.5s
   ✔ ad03744990d9 Pull complete                                            7.4s
   ✔ 4f4fb700ef54 Pull complete                                            7.5s
   ✔ 82fe61b89c46 Pull complete                                           35.5s
   ✔ 8bbefc0a3d20 Pull complete                                           35.7s
   ✔ 61fa1f23038c Pull complete                                           35.8s
   ✔ e0b8394f15f7 Pull complete                                           35.9s
   ✔ 43ef2e487a4a Pull complete                                           36.0s
   ✔ 6e7f4382f6c9 Pull complete                                           36.7s
   ✔ 554527a3fe56 Pull complete                                           37.4s
[+] Running 2/2
 ✔ Network n8n_n8n-network  Created                                        0.0s
 ✔ Container n8n-n8n-1  Started                                            0.2s


✅ Langkah 7: Cek Status

docker compose ps

Menghasilkan tampilan seperti berikut:
NAME        IMAGE       COMMAND                  SERVICE   CREATED          STATUS          PORTS
n8n-n8n-1   n8nio/n8n   "tini -- /docker-ent…"   n8n       13 seconds ago   Up 12 seconds   0.0.0.0:5678->5678/tcp, [::]:5678->5678/tcp




docker compose ps

Menghasilkan tampilan seperti berikut:
total 484
drwxrwxr-x 6 robie robie   4096 Aug 12 15:03 .
drwxrwxr-x 3 robie robie   4096 Aug 12 15:03 ..
drwxr-xr-x 2 robie robie   4096 Aug 12 15:03 binaryData
-rw-r--r-- 1 robie robie     38 Aug 12 15:03 config
-rw-r--r-- 1 robie robie      0 Aug 12 15:03 crash.journal
-rw-r--r-- 1 robie robie 462848 Aug 12 15:03 database.sqlite
drwxr-xr-x 2 robie robie   4096 Aug 12 15:03 git
-rw-r--r-- 1 robie robie      0 Aug 12 15:03 n8nEventLog.log
drwxr-xr-x 2 robie robie   4096 Aug 12 15:03 nodes
drwxr-xr-x 2 robie robie   4096 Aug 12 15:03 ssh

Tekan Ctrl+C untuk berhenti dari log.


✅ Langkah 8: Akses n8n dari Browser

Buka:

http://<IP_VM>:5678

Contoh:

http://192.168.1.100:5678

Login:

  • User: admin
  • Password: rahasia123

✅ Langkah 9: (Opsional) Pasang Reverse Proxy dengan Nginx + HTTPS

1. Install Nginx

sudo apt install -y nginx certbot python3-certbot-nginx

2. Konfigurasi Nginx

server {
    listen 80;
    server_name n8n.domainmu.com;

    location / {
        proxy_pass http://localhost:5678;
        proxy_set_header Host $host;
        proxy_set_header X-Real-IP $remote_addr;
        proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
        proxy_set_header X-Forwarded-Proto $scheme;
    }
}

3. Aktifkan

sudo ln -s /etc/nginx/sites-available/n8n /etc/nginx/sites-enabled/
sudo nginx -t && sudo systemctl reload nginx

4. Ambil SSL

sudo certbot --nginx -d n8n.domainmu.com

✅ Langkah 10: Backup & Keamanan

1. Backup folder data

tar -czf n8n-backup-$(date +%F).tar.gz ~/n8n/data

2. Update n8n

cd ~/n8n
docker compose pull
docker compose up -d

3. Firewall (UFW)

sudo ufw allow 22
sudo ufw allow 80
sudo ufw allow 443
sudo ufw enable

✅ Troubleshooting Umum

Masalah Solusi
Tidak bisa akses :5678 Cek firewall Proxmox/VM, pastikan port terbuka
Docker error permission Pastikan user di grup docker dan login ulang
Data hilang setelah restart Pastikan volume ./data benar ter-mount
Login gagal Cek BASIC_AUTH_USER/PASSWORD di compose

🎉 Selesai! Kamu sekarang punya n8n yang berjalan stabil di Ubuntu 20.04 di Proxmox.