Ringkasan: Gunakan Docker Compose + PostgreSQL + reverse proxy (Caddy/Nginx) dengan HTTPS. Aktifkan enkripsi key, backup terjadwal, dan batasi akses.
Prasyarat
- VPS (Linux) dengan Docker & Docker Compose.
- Domain/subdomain, mis.
n8n.contoh.com. - Pengetahuan dasar terminal.
Contoh docker-compose.yml (ringkas)
services:
postgres:
image: postgres:16
restart: always
environment:
POSTGRES_USER: n8n
POSTGRES_PASSWORD: ${DB_PASSWORD}
POSTGRES_DB: n8n
volumes:
- pgdata:/var/lib/postgresql/data
n8n:
image: docker.n8n.io/n8nio/n8n
restart: always
ports:
- "127.0.0.1:5678:5678"
environment:
DB_TYPE: postgresdb
DB_POSTGRESDB_HOST: postgres
DB_POSTGRESDB_DATABASE: n8n
DB_POSTGRESDB_USER: n8n
DB_POSTGRESDB_PASSWORD: ${DB_PASSWORD}
N8N_HOST: n8n.contoh.com
N8N_PROTOCOL: https
WEBHOOK_URL: https://n8n.contoh.com/
N8N_ENCRYPTION_KEY: ${N8N_ENCRYPTION_KEY}
GENERIC_TIMEZONE: Asia/Jakarta
volumes:
- n8n_data:/home/node/.n8n
depends_on:
- postgres
volumes:
pgdata:
n8n_data:
Variabel rahasia disimpan di file .env, bukan di repositori. Periksa dokumentasi n8n untuk nama variabel terbaru sesuai versi.
Langkah
- Siapkan server, firewall (buka 80/443 saja), dan user non-root.
- Buat
.envdengan password kuat danN8N_ENCRYPTION_KEYacak; simpan cadangannya dengan aman. - Jalankan
docker compose up -d. - Pasang reverse proxy dengan sertifikat HTTPS otomatis (Caddy/Let's Encrypt).
- Buat akun owner dan aktifkan 2FA bila tersedia.
Checklist Keamanan
- HTTPS wajib; jangan ekspos port 5678 langsung.
- Encryption key dicadangkan terpisah (tanpanya credential tidak bisa didekripsi).
- Webhook diberi autentikasi/secret.
- Update versi berkala setelah uji di staging.
- Batasi akses admin (VPN/IP allowlist bila memungkinkan).
- Credential dengan hak akses minimal.
- Hapus data eksekusi lama otomatis agar database tidak membengkak.
Backup & Pemulihan
- Dump PostgreSQL harian ke penyimpanan terpisah (object storage).
- Ekspor workflow ke Git (versi).
- Uji pemulihan secara berkala; backup yang tidak pernah diuji belum tentu berfungsi.
Monitoring
Pantau uptime, penggunaan disk/RAM, dan workflow gagal. Kirim alert ke Slack/WhatsApp lewat workflow n8n terpisah.
Skala
Untuk volume tinggi gunakan queue mode dengan Redis dan beberapa worker; baca dokumentasi resmi.
FAQ
Berapa spesifikasi VPS minimal?
Untuk beban ringan, VPS kecil cukup; tambah resource sesuai jumlah eksekusi paralel dan ukuran data.
Apakah aman untuk data sensitif?
Bisa, jika hardening dilakukan dan akses dibatasi. Lihat juga UU PDP untuk data pribadi.
Langkah selanjutnya
Serahkan instalasi, hardening, dan maintenance n8n ke Oneflux.