Install n8n di VPS Ubuntu: Mulai dari Nol hingga Online

Install n8n di VPS Ubuntu: Mulai dari Nol hingga Online

n8n adalah automation platform open-source yang memungkinkan kamu menghubungkan lebih dari 350 layanan tanpa harus menulis kode. Self-hosting n8n di VPS Ubuntu memberi kontrol penuh atas data, webhook, dan resource—plus biaya bulanan yang lebih kecil ketimbang langganan zap berbayar.

Artikel ini saya tulis setelah mengalami sendiri error “ECONNREFUSED” dan port 5678 yang tak kunjung terbuka. Di bawah ini adalah ringkasan langkah yang sudah saya uji di KVM 2 GB RAM, 1 vCPU, Ubuntu 22.04. Total waktu: ±15 menit.

1. Persiapan awal server

Sebelum menyentuh Docker, pastikan kamu punya:

  • VPS Ubuntu 20.04/22.04 (min. 1 GB RAM)
  • Akses root via SSH
  • Domain/subdomain mengarah ke IP VPS (opsional tapi direkomendasikan untuk HTTPS)

Update sistem dan buat user baru biar nggak boros port 22:

apt update && apt upgrade -y
adduser n8n
usermod -aG sudo n8n

Log out, lalu login lagi sebagai n8n.

1a. Install Docker & Docker Compose

Langkah singkat biar nggak ribet:

curl -fsSL https://get.docker.com | sh
sudo usermod -aG docker $USER
newgrp docker
docker --version  # pastikan ≥ 24

1b. Buka port firewall

Kalau pakai UFW:

sudo ufw allow 22/tcp
sudo ufw allow 80/tcp
sudo ufw allow 443/tcp
sudo ufw enable

2. Jalankan n8n dengan Docker Compose

Buat folder project:

mkdir ~/n8n && cd ~/n8n

Buat docker-compose.yml:

version: "3.8"
services:
  n8n:
    image: n8nio/n8n:latest
    container_name: n8n
    restart: unless-stopped
    ports:
      - "127.0.0.1:5678:5678"
    volumes:
      - n8n_data:/home/node/.n8n
    environment:
      - N8N_HOST=n8n.domainkamu.com
      - N8N_PORT=5678
      - N8N_PROTOCOL=https
      - WEBHOOK_URL=https://n8n.domainkamu.com/
      - GENERIC_TIMEZONE=Asia/Jakarta
      - N8N_BASIC_AUTH_ACTIVE=true
      - N8N_BASIC_AUTH_USER=admin
      - N8N_BASIC_AUTH_PASSWORD=GantiDenganPasswordKuat!
volumes:
  n8n_data:

Start service:

docker compose up -d

Cek status:

docker compose logs -f

Kalua log terakhir Editor is now accessible via ..., berarti kontainer siap.

3. Pasang Nginx reverse-proxy + SSL

Install Nginx & Certbot:

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

Buat virtual-host:

sudo nano /etc/nginx/sites-available/n8n
server {
    server_name n8n.domainkamu.com;
    location / {
        proxy_pass http://127.0.0.1:5678;
        proxy_set_header Host $host;
        proxy_set_header X-Real-IP $remote_addr;
        proxy_set_header X-Forwarded-Proto $scheme;
    }
}

Aktifkan & reload:

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

Dapatkan sertifikat SSL otomatis:

sudo certbot --nginx -d n8n.domainkamu.com --redirect --agree-tos -m [email protected]

Auto-renew sudah otomatis lewat systemd, tapi kalau mau double:

sudo crontab -e
# tambahkan baris ini
0 3 * * * certbot renew --quiet

4. Optimasi & tips produksi

  • Tambah --memory="800m" --cpus="0.8" di docker-compose agar n8n tak makan semua RAM.
  • Backup volume n8n_data tiap minggu: docker run --rm -v n8n_data:/data -v $(pwd):/backup alpine tar czf /backup/n8n-$(date +%F).tar.gz -C /data .
  • Gunakan execution timeout di menu Settings untuk mencegah workflow ngantuk.
  • Update image: docker compose pull && docker compose up -d.

Kesimpulan

Dalam waktu singkat kamu sudah punya n8n self-host berjalan di VPS Ubuntu dengan HTTPS aktif. Dengan Docker Compose, update jadi sekali perintah; dengan Nginx, kamu bebas menambahkan domain lain atau load-balancer di belakangnya. Mulai sekarang, otomasi WhatsApp → Google Sheet, atau webhook Shopify → Slack, bisa dikerjakan sendiri tanpa takut data lewat server pihak ketiga. Jangan lupa backup mingguan dan pantau log agar workflow tetap lancar. Selamat bereksperimen!

FAQ

Apakah n8n bisa jalan di VPS 1 GB RAM?

Bisa, asalkan tidak menjalankan workflow berat secara paralel. Disarankan 2 GB untuk produksi.

Apa beda n8n self-host vs cloud?

Self-host memberi kontrol data & webhook tak terbatas, tapi kamu urus update & backup sendiri.

Bagaimana update n8n ke versi baru?

Jalankan docker compose pull && docker compose up -d; workflow tersimpan di volume otomatis aman.

References

Saya Sang Putu Jaya Anggara Putra, seorang digital marketing yang tinggal di Denpasar, Bali. Saya menjalankan Jay.Foll, sebuah panel media sosial yang inovatif, dan juga bekerja sebagai webmaster utama di PT Mousmedia Bali, agensi pemasaran digital yang membantu bisnis tampil lebih baik di dunia digital.