n8n adalah alat alur kerja yang menghubungkan aplikasi, API, dan model AI dengan editor visual. Hosting mandiri berarti alur kerja, kredensial, dan data Anda tetap berada di server yang Anda kendalikan, dan eksekusi tidak dihitung per penggunaan. Panduan ini men-deploy n8n dengan Docker Compose, database Postgres, dan HTTPS, siap menjalankan agen AI sepanjang waktu.
Mengapa VPS untuk agen?
Agen sering berjalan sesuai jadwal atau bereaksi terhadap webhook, sehingga memerlukan server yang selalu menyala dan dapat dijangkau. VPS memberi Anda alamat tetap untuk webhook dan RAM yang cukup agar alur kerja tetap responsif. Paket 2 vCPU, 4 GB cocok untuk penyiapan kecil. Lihat hosting agen AI untuk ukurannya, dan tambahkan server GPU jika Anda menginginkan model lokal.
Sebelum memulai
- VPS dengan Docker. Lihat menginstal Docker.
- Domain yang mengarah ke server. Lihat catatan DNS.
Langkah 1: file Compose
mkdir -p ~/n8n && cd ~/n8n
cat > compose.yaml <<'YAML'
services:
db:
image: postgres:16
restart: unless-stopped
environment:
POSTGRES_USER: n8n
POSTGRES_PASSWORD: ${DB_PASSWORD}
POSTGRES_DB: n8n
volumes:
- db:/var/lib/postgresql/data
n8n:
image: n8nio/n8n:latest
restart: unless-stopped
depends_on: [db]
environment:
DB_TYPE: postgresdb
DB_POSTGRESDB_HOST: db
DB_POSTGRESDB_USER: n8n
DB_POSTGRESDB_PASSWORD: ${DB_PASSWORD}
N8N_HOST: n8n.example.com
N8N_PROTOCOL: https
WEBHOOK_URL: https://n8n.example.com/
N8N_ENCRYPTION_KEY: ${ENCRYPTION_KEY}
GENERIC_TIMEZONE: UTC
ports:
- "127.0.0.1:5678:5678"
volumes:
- n8n:/home/node/.n8n
volumes:
db:
n8n:
YAML
Langkah 2: rahasia
cat > .env <<ENV
DB_PASSWORD=$(openssl rand -hex 24)
ENCRYPTION_KEY=$(openssl rand -hex 32)
ENV
chmod 600 .env
Cadangkan ENCRYPTION_KEY. Tanpanya, n8n tidak dapat mendekripsi kredensial yang telah disimpannya.
Langkah 3: jalankan n8n
docker compose up -d
docker compose logs -f n8n
Langkah 4: HTTPS
n8n.example.com {
reverse_proxy 127.0.0.1:5678
}
Muat ulang Caddy, buka situs, dan buat akun pemilik.
Langkah 5: bangun alur kerja agen
- Tambahkan pemicu Webhook atau Schedule.
- Tambahkan node AI Agent dan hubungkan model chat, misalnya API yang di-host, atau Ollama di server GPU Anda sendiri.
- Berikan agen alat seperti permintaan HTTP, database, atau node pesan.
- Uji dengan eksekusi manual, lalu aktifkan alur kerja.
Jaga agar tetap aman
- Ikat n8n ke 127.0.0.1 dan buka hanya proxy HTTPS.
- Lindungi webhook dengan header atau path rahasia jika memungkinkan.
- Cadangkan volume Postgres dan volume n8n. Lihat cadangan dengan restic atau borg.
- Perbarui dengan
docker compose pull && docker compose up -dsetelah membaca catatan rilis.