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
Docker (paling direkomendasikan)
Docker Compose
Manual (Node.js + npm)
Kubernetes (advanced)
Dalam panduan ini, fokus utama menggunakan Docker & Docker Compose.
Persiapan Server
Spesifikasi Minimum
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:
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