Cara Setup n8n di VPS Ubuntu Lengkap untuk Otomasi Cerdas

Di dunia digital yang serba cepat ini, efisiensi adalah kunci. Baik Anda seorang developer, freelancer, atau tech entrepreneur, kemampuan mengotomatisasi tugas-tugas berulang dapat menghemat waktu berharga dan meningkatkan produktivitas secara signifikan. Di sinilah n8n hadir sebagai game-changer.

n8n adalah alat otomasi workflow sumber terbuka yang sangat powerful, memungkinkan Anda menghubungkan berbagai aplikasi dan layanan tanpa perlu menulis kode yang rumit. Anda bisa mengintegrasikan API, memproses data, dan membuat alur kerja otomatis yang kompleks dengan antarmuka visual yang intuitif.

Meskipun ada opsi cloud hosting untuk n8n, self-hosting di VPS Ubuntu memberikan Anda kontrol penuh, privasi data maksimal, dan fleksibilitas tanpa batas untuk mengkustomisasi lingkungan sesuai kebutuhan. Panduan ini akan membawa Anda langkah demi langkah untuk melakukan setup n8n di VPS Ubuntu Anda, menjadikaya mesin otomasi cerdas pribadi Anda.

Daftar Isi sembunyikan

Mengapa Memilih n8n untuk Otomasi Anda?

Sebelum kita terjun ke proses instalasi, mari pahami mengapa n8n menjadi pilihan favorit di kalangan developer dan profesional teknologi:

Kelebihan Utama n8n

  • Open-Source & Gratis: n8n adalah open-source, artinya Anda bebas menggunakaya tanpa biaya lisensi, dan komunitasnya aktif dalam pengembangan.
  • Low-Code/No-Code: Membuat workflow dengan menyeret dan melepas (drag-and-drop) node, memungkinkan siapa pun untuk membangun otomasi tanpa keahlian coding yang mendalam.
  • Fleksibilitas Tinggi: Mendukung lebih dari 300+ integrasi, mulai dari platform populer seperti Google Sheets, Slack, Trello, hingga database dan API kustom.
  • Self-Hosted: Memberi Anda kendali penuh atas data dan lingkungan, ideal untuk kebutuhan privasi dan kustomisasi.
  • Ekstensibilitas: Jika integrasi yang Anda butuhkan belum ada, Anda bisa membuat node kustom sendiri.

Use Case Populer n8n

  • Otomasi Pemasaran: Mengirim email otomatis, memposting ke media sosial, atau mengelola data lead.
  • Manajemen Data: Menyinkronkan data antar aplikasi, membersihkan data, atau membuat laporan otomatis.
  • Pengembangan Aplikasi: Membangun backend sederhana, memproses webhook, atau mengotomatisasi proses deploy.
  • Produktivitas Pribadi: Mengelola daftar tugas, notifikasi, atau mengotomatisasi pengumpulan informasi.

Persiapan Awal: Memilih dan Mengkonfigurasi VPS Ubuntu

Langkah pertama adalah menyiapkan fondasi yang kuat untuk n8n Anda. Ini termasuk memilih VPS dan melakukan konfigurasi dasar.

Memilih Provider VPS (DigitalOcean, Vultr, Linode, AWS Lightsail)

Ada banyak provider VPS handal di luar sana. Beberapa yang populer dan sangat direkomendasikan untuk developer adalah:

  • DigitalOcean: Antarmuka yang mudah digunakan, dokumentasi bagus.
  • Vultr: Harga kompetitif, banyak lokasi server.
  • Linode: Performa solid, harga terjangkau.
  • AWS Lightsail: Solusi VPS dari Amazon Web Services yang lebih sederhana.

Pilih provider yang Anda sukai dengan lokasi server terdekat untuk latensi terbaik.

Spesifikasi Minimal VPS untuk n8n

Untuk menjalanka8n dengan lancar, terutama untuk workflow sederhana hingga menengah, spesifikasi berikut sudah cukup:

  • RAM: Minimal 2GB (direkomendasikan 4GB+ untuk workflow kompleks atau banyak konkurensi).
  • CPU: 1 vCPU (direkomendasikan 2 vCPU+).
  • Penyimpanan: Minimal 20GB SSD (direkomendasikan 40GB+).
  • Sistem Operasi: Ubuntu 20.04 LTS atau yang lebih baru.

Pastikan Anda telah menginstal Ubuntu LTS (Long Term Support) terbaru pada VPS Anda.

Akses VPS Via SSH

Anda akan mengakses VPS menggunakan SSH. Jika Anda menggunakan Linux atau macOS, buka Terminal. Untuk Windows, Anda bisa menggunakan PuTTY atau terminal WSL (Windows Subsystem for Linux).

Contoh perintah SSH:

ssh root@alamat_ip_vps_anda

Ganti alamat_ip_vps_anda dengan alamat IP VPS Anda yang sebenarnya. Masukkan password root saat diminta.

Update Sistem dan Buat User Non-Root

Setelah login sebagai root, langkah pertama adalah memperbarui sistem dan membuat user non-root untuk keamanan yang lebih baik.

  1. Update Sistem:

    sudo apt update

    sudo apt upgrade -y

  2. Buat User Non-Root: (Ganti username_anda dengaama user yang Anda inginkan)

    sudo adduser username_anda

    Ikuti prompt untuk membuat password dan informasi laiya. Anda bisa menekan Enter untuk melewati informasi opsional.

  3. Tambahkan User ke Grup Sudo: Ini memungkinkan user baru menjalankan perintah dengan hak akses root.

    sudo usermod -aG sudo username_anda

  4. Switch ke User Baru:

    su - username_anda

    Mulai sekarang, semua perintah akan dijalankan sebagai user non-root ini. Jika Anda perlu hak akses root, gunakan sudo di depan perintah.

Konfigurasi Firewall UFW

Firewall adalah lapisan keamanan penting. Kita akan mengkonfigurasi UFW (Uncomplicated Firewall) untuk hanya mengizinkan lalu lintas yang diperlukan.

  1. Izinkan SSH:

    sudo ufw allow OpenSSH

  2. Izinkan HTTP dan HTTPS (untuk Nginx nanti):

    sudo ufw allow http

    sudo ufw allow https

  3. Aktifkan UFW:

    sudo ufw enable

    Tekan y dan Enter saat diminta konfirmasi.

  4. Periksa Status UFW:

    sudo ufw status

    Anda akan melihat aturan yang telah Anda tambahkan.

Langkah 1: Menginstal Dependensi Inti (Node.js & npm)

n8n dibangun di atas Node.js, jadi kita perlu menginstal Node.js dapm (Node Package Manager).

Instal Node.js dapm

Cara terbaik adalah menggunakaodeSource repository untuk mendapatkan versi terbaru yang stabil.

  1. Instal curl:

    sudo apt install curl -y

  2. TambahkaodeSource Repository: (Ganti 20.x dengan versi LTS Node.js terbaru yang Anda inginkan, misalnya 18.x atau 20.x)

    curl -fsSL https://deb.nodesource.com/setup_20.x | sudo -E bash -

  3. Instal Node.js:

    sudo apt install nodejs -y

Verifikasi Instalasi

Pastikaode.js dapm terinstal dengan benar:

node -v

npm -v

Anda akan melihat versi Node.js dapm yang terinstal.

Langkah 2: Instalasi n8n

Sekarang kita siap menginstal n8n itu sendiri.

Instal n8n Menggunakapm

Instal n8n secara global agar bisa diakses dari mana saja.

sudo npm install n8n -g

Proses ini mungkin memakan waktu beberapa menit. Setelah selesai, Anda bisa mencoba menjalanka8n secara langsung (meskipun kita akan menggunakan PM2 nanti untuk manajemen proses yang lebih baik).

n8n

Jika n8n berjalan dan Anda melihat pesan “n8n is ready to serve”, itu berarti instalasi berhasil. Tekan Ctrl+C untuk menghentikaya.

Membuat Direktori Kerja untuk n8n

Disarankan untuk membuat direktori khusus untuk konfigurasi dan data n8n.

mkdir ~/.n8n

Direktori ini akan menyimpan data penting seperti konfigurasi, credentials, dan database SQLite (jika tidak dikonfigurasi menggunakan PostgreSQL).

Langkah 3: Menjalanka8n dengan PM2

Menjalanka8n secara langsung dari terminal tidak praktis karena akan berhenti saat sesi SSH Anda ditutup. Kita akan menggunakan PM2, sebuah process manager untuk aplikasi Node.js, untuk menjaga n8n tetap berjalan di latar belakang.

Apa itu PM2 dan Mengapa Penting?

PM2 adalah daemon yang membantu Anda mengelola dan menjaga aplikasi Node.js tetap online 24/7. Kelebihaya meliputi:

  • Menjaga aplikasi tetap berjalan meskipun terjadi crash.
  • Memulai ulang aplikasi secara otomatis saat server di-reboot.
  • Memantau penggunaan sumber daya.

Instalasi PM2

Instal PM2 secara global:

sudo npm install pm2 -g

Menjalanka8n sebagai Proses PM2

Sekarang, jalanka8n menggunakan PM2. Pastikan Anda berada di direktori home user Anda atau direktori lain di mana Anda ingin data n8n disimpan.

pm2 start n8n

Anda akan melihat tabel yang menunjukka8n sedang berjalan. Untuk melihat statusnya:

pm2 status

Untuk melihat log n8n:

pm2 log n8n

Mengatur n8n Auto-Start dengan PM2

Agar n8n otomatis berjalan setiap kali VPS di-reboot, kita perlu mengkonfigurasi PM2.

  1. Buat script startup PM2:

    pm2 startup systemd

    Anda akan mendapatkan perintah yang perlu Anda jalankan. Perintahnya akan mirip dengan ini:

    sudo env PATH=$PATH:/usr/bin /usr/lib/node_modules/pm2/bin/pm2 startup systemd -u username_anda --hp /home/username_anda

    Salin dan jalankan perintah yang muncul di terminal Anda (ganti username_anda jika perlu).

  2. Simpan konfigurasi PM2:

    pm2 save

Sekarang, n8n akan otomatis berjalan kembali jika VPS Anda di-reboot.

Langkah 4: Konfigurasi n8n dan Keamanan Dasar

Sangat penting untuk mengkonfigurasi n8n dengan variabel lingkungan untuk keamanan dan fungsionalitas yang lebih baik. Kita akan menggunakan file .env.

Menentukan Port n8n

Secara default, n8n berjalan di port 5678. Anda bisa mengubahnya jika diperlukan. Untuk saat ini, kita akan biarkan default.

Mengatur Variabel Lingkungan (Environment Variables)

Kita akan membuat file .env di direktori kerja n8n (~/.n8n) yang berisi konfigurasi penting.

  1. Stop n8n terlebih dahulu:

    pm2 stop n8n

  2. Buat atau edit file .env:

    nano ~/.n8n/.env

  3. Tambahkan baris berikut ke file .env: (Ganti nilai-nilai sesuai kebutuhan Anda)

    GENERIC_TIMEZONE=Asia/Jakarta

    N8N_HOST=localhost

    N8N_PROTOCOL=http

    WEBHOOK_URL=http://your-domain.com/ (Ganti dengan domain Anda nanti)

    N8N_BASIC_AUTH_ACTIVE=true

    N8N_BASIC_AUTH_USER=admin (Ganti dengan username yang kuat)

    N8N_BASIC_AUTH_PASSWORD=your_strong_password (Ganti dengan password yang sangat kuat)

    N8N_EDITOR_BASE_URL=http://your-domain.com/ (Ganti dengan domain Anda nanti)

    DB_TYPE=sqlite (Ini default, bisa diubah ke PostgreSQL jika ingin)

    DB_SQLITE_VACUUM_ON_STARTUP=true

    NODE_ENV=production

  4. Simpan dan keluar: Tekan Ctrl+X, Y, lalu Enter.
  5. Restart n8n agar konfigurasi baru diterapkan:

    pm2 restart n8n

PENTING: Ganti your-domain.com dengaama domain Anda yang sebenarnya (jika sudah ada) atau IP address VPS Anda untuk sementara. Nantinya kita akan menghubungkaya dengan domain menggunakaginx.

Menerapkan Autentikasi Dasar (Optional tapi Sangat Disarankan)

Dengan N8N_BASIC_AUTH_ACTIVE=true dan mendefinisikan N8N_BASIC_AUTH_USER serta N8N_BASIC_AUTH_PASSWORD di file .env, Anda telah mengaktifkan lapisan autentikasi dasar untuk n8n Anda. Ini sangat penting untuk mencegah akses tidak sah.

Langkah 5: Mengamankan Akses n8n dengaginx (Reverse Proxy)

Langsung mengakses n8n via port 5678 tidak aman dan tidak praktis. Kita akan menggunakaginx sebagai reverse proxy untuk mengarahkan lalu lintas dari domain Anda ke n8n yang berjalan di port 5678.

Mengapa Nginx Penting?

  • Keamanan: Nginx bertindak sebagai perantara, menyembunyikan port asli n8n.
  • SSL/HTTPS: Memudahkan implementasi SSL untuk koneksi yang terenkripsi.
  • Manajemen Domain: Memungkinkan Anda mengakses n8n melalui nama domain yang mudah diingat (misalnya, flow.your-domain.com).
  • Load Balancing: Jika Anda memiliki banyak aplikasi, Nginx bisa mendistribusikan lalu lintas.

Instalasi Nginx

sudo apt install nginx -y

Konfigurasi Nginx untuk n8n

  1. Buat file konfigurasi baru:

    sudo nano /etc/nginx/sites-available/n8n.conf

  2. Tambahkan konfigurasi berikut: (Ganti your-domain.com dengan domain Anda yang sebenarnya)
    server {
        listen 80;
        server_name your-domain.com; # Ganti dengan domain atau subdomain Anda

    location / { proxy_pass http://localhost:5678; # Port n8n proxy_set_header Host $host; proxy_set_header X-Real-IP $remote_addr; proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for; proxy_set_header X-Forwarded-Proto $scheme; proxy_http_version 1.1; proxy_set_header Upgrade $http_upgrade; proxy_set_header Coection "upgrade"; proxy_buffering off; } }

  3. Simpan dan keluar.

Mengaktifkan Konfigurasi Nginx

  1. Buat symlink dari sites-available ke sites-enabled:

    sudo ln -s /etc/nginx/sites-available/n8n.conf /etc/nginx/sites-enabled/

  2. Hapus konfigurasi Nginx default (jika ada):

    sudo rm /etc/nginx/sites-enabled/default

  3. Uji konfigurasi Nginx:

    sudo nginx -t

    Jika ada error, perbaiki sebelum melanjutkan. Output harusnya “syntax is ok” dan “test is successful”.

  4. Restart Nginx:

    sudo systemctl restart nginx

Sekarang, n8n Anda seharusnya bisa diakses melalui domain Anda (misalnya, http://your-domain.com), meskipun masih menggunakan HTTP. Kita akan segera mengamankaya dengan HTTPS.

Langkah 6: Mengamankan Komunikasi dengan SSL/HTTPS (Let’s Encrypt)

Menggunakan HTTPS sangat penting untuk keamanan dan kredibilitas. Kita akan menggunakan Certbot untuk mendapatkan sertifikat SSL gratis dari Let’s Encrypt dan mengkonfigurasinya secara otomatis dengaginx.

Mengapa SSL Penting?

  • Enkripsi Data: Melindungi data yang ditransfer antara browser Anda da8n dari penyadapan.
  • Kepercayaan: Browser modern akan menandai situs HTTP sebagai “Tidak Aman”. HTTPS membangun kepercayaan pengguna.
  • SEO: Google memprioritaskan situs dengan HTTPS.

Instalasi Certbot

sudo apt install certbot python3-certbot-nginx -y

Mendapatkan Sertifikat SSL

Jalankan Certbot untuk Nginx:

sudo certbot --nginx -d your-domain.com

Ganti your-domain.com dengan domain Anda. Ikuti petunjuk di layar:

  • Masukkan alamat email Anda untuk notifikasi.
  • Setuju dengan persyaratan layanan.
  • Pilih apakah Anda ingin lalu lintas HTTP otomatis dialihkan ke HTTPS (pilih 2 untuk pengalihan).

Setelah selesai, Certbot akan mengkonfigurasi Nginx Anda secara otomatis dan mendapatkan sertifikat SSL.

Verifikasi Konfigurasi Nginx dan SSL

Uji kembali konfigurasi Nginx:

sudo nginx -t

Restart Nginx untuk memastikan semua perubahan diterapkan:

sudo systemctl reload nginx

Certbot juga akan secara otomatis mengatur perpanjangan sertifikat SSL, jadi Anda tidak perlu khawatir tentang sertifikat yang kedaluwarsa.

Langkah 7: Mengakses dan Menggunaka8n

Selamat! n8n Anda sekarang terinstal, berjalan di latar belakang dengan PM2, diamankan dengaginx sebagai reverse proxy, dan dilindungi dengan SSL/HTTPS.

Akses Dashboard n8n

Buka browser web Anda daavigasi ke https://your-domain.com (ganti dengan domain Anda). Anda akan diminta untuk memasukkan username dan password yang Anda set di file .env (N8N_BASIC_AUTH_USER dan N8N_BASIC_AUTH_PASSWORD).

Setelah login, Anda akan disambut dengan antarmuka n8n yang bersih dan intuitif.

Memulai Workflow Pertama Anda

Sekarang Anda siap untuk mulai membangun otomasi Anda! Jelajahi berbagai node yang tersedia, hubungkan aplikasi, dan biarka8n bekerja untuk Anda. Jangan ragu untuk mencoba beberapa tutorial dasar n8n untuk mendapatkan pemahaman yang lebih baik tentang cara kerjanya.

Troubleshooting Umum

Beberapa masalah umum yang mungkin Anda temui dan solusinya:

Masalah Port

  • Pastika8n berjalan di port yang benar (default 5678). Anda bisa memeriksanya dengan pm2 logs n8n.
  • Pastikan port 5678 tidak digunakan oleh aplikasi lain: sudo lsof -i :5678.

Firewall Issues

  • Jika Anda tidak bisa mengakses n8n, pastikan port 80 (HTTP) dan 443 (HTTPS) diizinkan di UFW atau firewall VPS Anda. Periksa dengan sudo ufw status.
  • Jika Anda mengubah port n8n, pastikan Anda juga mengizinkaya di UFW.

Nginx Errors

  • Jika Nginx tidak berjalan atau ada kesalahan, periksa log Nginx: sudo journalctl -xe | grep nginx atau sudo tail -f /var/log/nginx/error.log.
  • Pastikan file konfigurasi Nginx Anda benar (sudo nginx -t).
  • Pastikaama domain di konfigurasi Nginx Anda sesuai dengan domain yang Anda gunakan.

n8n Tidak Berjalan

  • Periksa status PM2: pm2 status.
  • Lihat log n8n: pm2 logs n8n untuk mencari pesan kesalahan.
  • Pastikan variabel lingkungan di file .env sudah benar.

FAQ

Apa itu n8n?

n8n adalah alat otomasi workflow sumber terbuka yang memungkinkan Anda menghubungkan berbagai aplikasi dan layanan serta mengotomatisasi tugas tanpa perlu coding yang intensif. Ini adalah platform low-code/no-code untuk membangun alur kerja yang kompleks.

Apakah n8n gratis?

Ya, n8n adalah proyek open-source yang bisa Anda gunakan secara gratis untuk self-hosting di VPS Anda. Ada juga versi cloud-hosted berbayar yang ditawarkan oleh tim n8n jika Anda tidak ingin mengelola server sendiri.

Apakah saya bisa menggunaka8n tanpa VPS?

Anda bisa menjalanka8n di komputer lokal Anda untuk pengembangan dan pengujian, atau Anda bisa menggunakan layanan cloud hosting n8n resmi. Namun, untuk penggunaan produksi yang stabil dan akses 24/7, VPS adalah pilihan terbaik untuk self-hosting.

Berapa spesifikasi VPS yang ideal untuk n8n?

Untuk workflow sederhana, minimal 2GB RAM dan 1 vCPU sudah cukup. Namun, untuk workflow yang lebih kompleks, banyak node, atau volume eksekusi yang tinggi, disarankan 4GB RAM atau lebih dan 2 vCPU atau lebih untuk performa optimal.

Bagaimana cara update n8n?

Untuk mengupdate n8n yang diinstal via npm, Anda bisa menjalankan perintah berikut:

pm2 stop n8n

sudo npm update -g n8n

pm2 restart n8n

Pastikan untuk selalu membaca catatan rilis n8n sebelum melakukan update besar.

Kesimpulan

Menginstal dan mengkonfigurasi n8n di VPS Ubuntu mungkin tampak seperti proses yang panjang pada awalnya, tetapi dengan panduan langkah demi langkah ini, Anda kini memiliki platform otomasi yang tangguh dan sepenuhnya di bawah kendali Anda. Anda telah berhasil membangun fondasi untuk efisiensi yang lebih tinggi dalam proyek-proyek personal maupun profesional.

Denga8n, batasan otomasi hanyalah imajinasi Anda. Mulai dari mengotomatisasi postingan media sosial, menyinkronkan data antar aplikasi, hingga membangun bot yang cerdas, potensi n8n untuk meningkatkan produktivitas Anda sungguh luar biasa. Selamat menjelajahi dan menciptakan workflow otomasi cerdas Anda sendiri!

A cinematic, professional, and modern illustration depicting the concept of workflow automation. In the foreground, stylized n8odes are coected by glowing lines, symbolizing data flow and automation logic. In the background, subtly blurred, are abstract representations of a server rack or cloud infrastructure, suggesting the VPS environment. The overall tone is futuristic and clean, with a focus on digital coections and seamless processes. Use a color palette of deep blues, purples, and electric greens, with white glowing lines for coections. No human figures or specific UI details, focus on abstract concepts of automation and cloud infrastructure.

Next Post

No more post

You May Also Like

Tinggalkan Balasan

Alamat email Anda tidak akan dipublikasikan. Ruas yang wajib ditandai *