Cara Menggunakan Redis atau PostgreSQL untuk Backend n8n

calendar_today
schedule 3 min read

Cara Menggunakan Redis atau PostgreSQL untuk Backend n8n

Yo, sobat tech! Kali ini kita bakal bahas gimana caranya pake Redis atau PostgreSQL sebagai backend buat n8n. Bagi yang belum tahu, n8n tuh alat otomasi yang keren banget buat bikin workflow, dan bisa bantu ngatur segala urusan di background. Nah, Redis dan PostgreSQL ini bisa jadi pilihan buat backend n8n, biar performanya makin oke. Yuk, simak step by step-nya!

Kenapa Harus Pake Redis atau PostgreSQL?

Sebelum mulai, kita cari tahu dulu kenapa harus pake Redis atau PostgreSQL buat backend n8n. Sederhananya, Redis itu database yang bener-bener cepat soalnya pake memory, sedangkan PostgreSQL tuh database relasional yang kaya fitur. Keduanya bisa ningkatin kecepatan dan kehandalan n8n, tergantung kebutuhan kalian.

Persiapan Awal

Pertama, pastiin dulu udah install n8n. Kalo belum, bisa cek di sini untuk langkah-langkahnya. Kalo udah, lanjut ke tahap selanjutnya.

Menggunakan Redis untuk Backend n8n

Redis bisa bikin n8n makin cepat karena sifatnya yang in-memory. Berikut cara konfigurasinya:

  1. Install Redis: Pastiin Redis udah terinstall di server kalian. Kalo belum, bisa diinstall lewat terminal:

    code
    sudo apt update
    sudo apt install redis-server
  2. Konfigurasi Redis: Buka file redis.conf biasanya ada di /etc/redis/redis.conf. Pastiin bagian maxmemory dan maxmemory-policy sesuai kebutuhan.

    code
    maxmemory 256mb
    maxmemory-policy allkeys-lru
  3. Restart Redis: Setelah edit konfigurasi, restart Redis biar konfigurasi baru berjalan.

    code
    sudo systemctl restart redis
  4. Konfigurasi n8n: Buka file config/n8n.config.js (atau buat baru kalo belum ada) dan tambahkan setup Redis:

    code
    module.exports = {
      // ... konfigurasi lain
      queue: {
        healthActive: true,
        healthPort: 5678,
        bull: {
            redis: {
                host: 'localhost',
                port: 6379,
            },
        },
      },
      // ... konfigurasi lain
    };

    Pastiin host dan port sesuai setup Redis kalian.

  5. Restart n8n: Restart n8n biar pembaruan konfigurasi berlaku.

    code
    n8n start

Now, n8n akan use Redis as its backend queue system. Keren, kan?

Menggunakan PostgreSQL sebagai Backend Database n8n

Selain Redis, kalian juga bisa pake PostgreSQL buat nyimpen data n8n. PostgreSQL ini bisa handle data kompleks dan relasi dengan baik. Berikut langkah-langkahnya:

  1. Install PostgreSQL: Pastiin PostgreSQL udah terinstall. Kalo belum, bisa diinstall dengan command:

    code
    sudo apt update
    sudo apt install postgresql postgresql-contrib
  2. Buat Database dan User: Login ke PostgreSQL dan buat database serta user khusus buat n8n.

    code
    sudo -u postgres psql
    CREATE DATABASE n8n;
    CREATE USER n8n WITH PASSWORD 'password_rahasia_kalian';
    GRANT ALL PRIVILEGES ON DATABASE n8n TO n8n;
    \q
  3. Konfigurasi n8n: Buka file config/n8n.config.js dan tambahkan setup database:

    code
    module.exports = {
      // ... konfigurasi lain
      database: {
        type: 'postgresdb',
        postgresdb: {
          host: 'localhost',
          port: 5432,
          user: 'n8n',
          password: 'password_rahasia_kalian',
          database: 'n8n',
        },
      },
      // ... konfigurasi lain
    };

    Pastiin host, port, user, password, dan database sesuai konfigurasi PostgreSQL kalian.

  4. Restart n8n: Restart n8n biar konfigurasi baru berlaku.

    code
    n8n start

Sekarang, n8n akan use PostgreSQL sebagai database-nya. Gampang banget, kan?

Tips Tambahan

  • Pilih Redis jika kalian butuh kecepatan tinggi, terutama buat queue management.
  • Pilih PostgreSQL jika pengen nyimpen data relasional atau butuh fitur database yang lebih kompleks.
  • Selalu buat backup database secara berkala biar aman.

Nah, itu tadi cara pake Redis atau PostgreSQL buat backend n8n. Semoga artikel ini membantu dan selamat mencoba!

A

Written by Ariful

Full-stack engineer obsessed with web performance.