Saturday, 20 December 2025

Panduan Lengkap Self-Host n8n di Server Lokal Dan Cloud

 Panduan Lengkap Self-Host n8n di Server Lokal Dan Cloud


Berikut adalah tutorial komprehensif yang memandu Anda melalui proses self-hosting n8n menggunakan npm atau Docker. Tutorial ini mencakup konsep dasar, konfigurasi, dan praktik terbaik untuk menjalankan alur kerja otomatisasi Anda sendiri. Pada akhir panduan ini, Anda akan memiliki pemahaman yang jelas tentang cara menginstal, mengkonfigurasi, dan memelihara n8n secara lokal atau di server pilihan Anda. Selamat menikmati!

Mengapa Perlu Self-Host n8n?

Keunggulan Self-Hosting
  • Kontrol data penuh – data tidak lewat server pihak ketiga
  • Lebih hemat biaya untuk workflow besar
  • Kustomisasi bebas (custom nodes, environment, integrasi internal)
  • Performa stabil sesuai spesifikasi server
Kekurangannya
  • Perlu pengetahuan dasar server & DevOps
  • Tanggung jawab maintenance dan security

Arsitektur Dasar n8n Self-Host

Komponen utama:
  • n8n application (Node.js)
  • Database (SQLite / PostgreSQL / MySQL)
  • Reverse proxy (Nginx / Traefik)
  • SSL (Let's Encrypt)
  • Rekomendasi produksi:

n8n + PostgreSQL + Docker + Reverse Proxy

Opsi Instalasi n8n

  1. Docker (paling direkomendasikan)

  2. Docker Compose

  3. Manual (Node.js + npm)

  4. Kubernetes (advanced)

Dalam panduan ini, fokus utama menggunakan Docker & Docker Compose.

Persiapan Server

Spesifikasi Minimum

  • CPU: 1 Core (disarankan 2 Core)

  • RAM: 2 GB (minimal 1 GB)

  • Storage: 10–20 GB

  • OS: Ubuntu 20.04 / 22.04

Install Docker & Docker Compose

sudo apt update
sudo apt install docker.io docker-compose -y
sudo systemctl enable docker
sudo systemctl start docker

Self-Host n8n di Server Lokal

1. Buat Folder Project

mkdir n8n-selfhost && cd n8n-selfhost

2. File docker-compose.yml
version: '3.8'
services:
n8n:
image: n8nio/n8n:latest
restart: always
ports:
- "5678:5678"
environment:
- N8N_BASIC_AUTH_ACTIVE=true
- N8N_BASIC_AUTH_USER=admin
- N8N_BASIC_AUTH_PASSWORD=passwordku
- TZ=Asia/Jakarta
volumes:
- ./n8n_data:/home/node/.n8n

3. Jalankan n8n
docker-compose up -d
Akses di browser:
http://localhost:5678

Self-Host n8n di Cloud (VPS)
Langkah hampir sama, dengan tambahan:
  • Domain
  • SSL
  • Reverse Proxy

Konfigurasi Environment Tambahan

N8N_HOST=n8n.domainanda.com
N8N_PROTOCOL=https
WEBHOOK_URL=https://n8n.domainanda.com/

Menggunakan PostgreSQL (Produksi)
services:
postgres:
image: postgres:15
restart: always
environment:
POSTGRES_USER=n8n
POSTGRES_PASSWORD=rahasia
POSTGRES_DB=n8n
volumes:
- postgres_data:/var/lib/postgresql/data

n8n:
image: n8nio/n8n
depends_on:
- postgres
environment:
- DB_TYPE=postgresdb
- DB_POSTGRESDB_HOST=postgres
- DB_POSTGRESDB_DATABASE=n8n
- DB_POSTGRESDB_USER=n8n
- DB_POSTGRESDB_PASSWORD=rahasia

Reverse Proxy & SSL (Nginx)

Contoh Konfigurasi Nginx

server {
    server_name n8n.domainanda.com;

    location / {
        proxy_pass http://localhost:5678;
        proxy_set_header Host $host;
        proxy_set_header X-Real-IP $remote_addr;
    }
}

Gunakan Certbot untuk SSL gratis Let's Encrypt.

Keamanan (Wajib)

  • Aktifkan Basic Auth

  • Gunakan HTTPS

  • Batasi IP akses (jika internal)

  • Simpan credential di environment variable

  • Update image secara berkala

Backup & Restore

Backup Data

tar -czvf n8n_backup.tar.gz n8n_data/

Restore
tar -xzvf n8n_backup.tar.gz
Untuk PostgreSQL, gunakan pg_dump.

Monitoring & Maintenance

  • Gunakan PM2 / Docker restart policy
  • Aktifkan log rotation
  • Monitor resource (htop, docker stats)
  • Update workflow secara bertahap

Kesalahan Umum & Solusi

Masalah : Webhook tidak jalan
Solusi     : Pastikan WEBHOOK_URL benar

Masalah : Lambat
Solusi     : Gunakan PostgreSQL & upgrade RAM

Masalah : Data hilang
Solusi     : Gunakan volume Docker

Kapan Harus Pakai Cloud vs Lokal?
Server Lokal:
  • Automasi internal
  • Data sensitif
Cloud:
  • Webhook publik
  • Integrasi API eksternal

Self-host n8n memberi Anda kebebasan penuh untuk membangun otomasi tanpa batas. Dengan setup yang benar, n8n dapat menjadi tulang punggung automasi bisnis, konten, hingga sistem internal.

Mulailah dari server kecil, lalu tingkatkan seiring kebutuhan

No comments:

Post a Comment