OffshoreVps
Tutorial4 Okt 20267 menit bacaOleh tim OffshoreVps

Deploy n8n dan Agen AI dengan Docker Compose di VPS

Hosting mandiri n8n dengan Postgres dan HTTPS, bangun alur kerja agen AI, lindungi webhook, dan cadangkan data serta kunci enkripsi.

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.

Jendela terminal di VPS yang menampilkan perintah untuk men-deploy n8n dan agen AI, diawali dengan “mkdir -p ~/n8n && cd ~/n8n”
Jenis perintah yang akan Anda jalankan di server dalam panduan ini.

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

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-langkah panduan ini secara berurutan: 1. Mengapa VPS untuk agen?; 2. Sebelum memulai; 3. rahasia; 4. jalankan n8n; 5. bangun alur kerja agen; 6. Jaga agar tetap aman
Langkah-langkah dalam panduan ini, secara berurutan.

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

  1. Tambahkan pemicu Webhook atau Schedule.
  2. Tambahkan node AI Agent dan hubungkan model chat, misalnya API yang di-host, atau Ollama di server GPU Anda sendiri.
  3. Berikan agen alat seperti permintaan HTTP, database, atau node pesan.
  4. 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 -d setelah membaca catatan rilis.