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

  1. Siapkan server, firewall (buka 80/443 saja), dan user non-root.
  2. Buat .env dengan password kuat dan N8N_ENCRYPTION_KEY acak; simpan cadangannya dengan aman.
  3. Jalankan docker compose up -d.
  4. Pasang reverse proxy dengan sertifikat HTTPS otomatis (Caddy/Let's Encrypt).
  5. 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.