A. Pendahuluan
n8n (dibaca “en-eight-en”) merupakan open-source workflow automation tool yang memungkinkan kamu untuk membuat automasi dan integrasi antara berbagai aplikasi dan layanan dengan cara yang mudah dan visual, tanpa banyak menulis kode.
Baca Juga: Apa Itu n8n? Solusi Workflow Automation Open Source
Dengan self-hosting n8n di VPS, kamu akan memiliki kendali penuh terhadap data, privasi, dan alur kerja tanpa adanya batasan. Dengan menjalankan n8n di infrastruktur milikmu sendiri, kamu bisa menghindari ketergantungan pada penyedia layanan dan menyesuaikan lingkungan sesuai kebutuhan.
Panduan ini ditujukan untuk membantu kamu menginstal n8n melalui sistem operasi Ubuntu 24.04 dengan menggunakan Node.js.
B. Prasyarat
Sebelum memulai, pastikan hal-hal berikut sudah dipenuhi:
VPS dengan OS Ubuntu 24.04
Akses root atau user dengan hak sudo
Port 5678 terbuka di firewall
Koneksi internet aktif untuk mengunduh paket-paket yang dibutuhkan
Domain untuk pengaksesan n8n via HTTPS, misalnya:
n8n.yourdomain.comSistem sudah di-update untuk menghindari konflik dependensi:
sudo apt update && sudo apt upgrade -y
C. Instalasi n8n dengan Node.js
n8n dapat berjalan secara langsung di sistem Node.js. Silakan ikuti langkah-langkah di bawah ini untuk menginstal versi LTS (long-term support) Node.js.
- Tambahkan repository Node.js versi 22 (LTS terbaru) dan instal:
curl -fsSL https://deb.nodesource.com/setup_22.x | sudo bash -
sudo apt-get install -y nodejs
- Setelah proses instal selesai, verifikasi instalasi Node.js dan npm
node -v
atau:
npm -v
Jika berhasil, terminal akan menampilkan versi Node.js dan npm
- Setelah Node.js berhasil terpasang, instal n8n secara global menggunakan npm:
npm install -g n8n
- Jalankan n8n dengan screen agar tetap berjalan di latar belakang
Jika kamu menginstall n8n menggunakan Node.js tanpa Docker, prosesnya akan berhenti begitu terminal ditutup atau koneksi SSH terputus. Untuk mencegah hal ini, kamu bisa menjalankan n8n di dalam sesi screen agar tetap berjalan meskipun koneksi terminal terputus.
Pertama, buat ke sesi screen terlebih dahulu:
screen -S n8n
Selanjutnya, jalankan perintah berikut:
n8n
Untuk menghentikan koneksi dari sesi screen, ketik CTRL + A lalu D. Jika kamu ingin kembali berinteraksi dengan sesi screen n8n tersebut, jalankan perintah:
screen -R n8n
- Secara default, n8n berjalan pada port 5678. Kamu sekarang bisa mengaksesnya di browser dengan:
http://ip-server-mu:5678
Ketika mengakses n8n menggunakan IP Address atau domain yang tidak menggunakan HTTPS, kamu mungkin akan menjumpai error seperti gambar berikut:
Hal ini terjadi karena n8n menggunakan secure cookie secara default, yang memerlukan HTTPS. Untuk mengatasi kendala ini akan kita bahas pada langkah pembuatan sertifikat SSL.
D. Mengamankan n8n dengan HTTPS
Untuk melindungi website n8n kamu dan memastikan koneksi yang terenkripsi, kita akan mengaktifkan SSL (HTTPS) menggunakan Let’s Encrypt dan NGINX sebagai reverse proxy. Langkah ini sangat penting jika kamu menggunakan domain kustom dan untuk mengatasi error secure cookie.
- Instal NGINX & Certbot:
sudo apt update && sudo apt install nginx certbot python3-certbot-nginx -y
- Aktifkan dan mulai service NGINX:
sudo systemctl enable nginx && sudo systemctl start nginx
- Buat konfigurasi server block NGINX untuk n8n:
sudo nano /etc/nginx/sites-available/n8n
Isi dengan:
server {
server_name n8n.yourdomain.com;
location / {
add_header Content-Security-Policy "default-src https: data: 'unsafe-inline' 'unsafe-eval'; connect-src https: wss:;";
proxy_pass http://127.0.0.1:5678;
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_set_header X-Forwarded-Host $host;
proxy_http_version 1.1;
proxy_set_header Upgrade $http_upgrade;
proxy_set_header Connection "upgrade";
proxy_redirect off;
proxy_cache_bypass $http_upgrade;
}
listen 80;
}
- Aktifkan konfigurasi dan restart NGINX:
sudo ln -s /etc/nginx/sites-available/n8n /etc/nginx/sites-enabled/
sudo systemctl restart nginx
- Buat sertifikat SSL gratis untuk domain n8n milikmu:
sudo certbot --nginx -d n8n.yourdomain.com
- Setup auto-renewal sertifikat menggunakan cronjob:
sudo crontab -e
Pilih nano jika kamu diminta memilih editor.
Tambahkan:
0 2 * * * certbot renew --quiet --post-hook "systemctl restart nginx"
Sertifikat Let’s Encrypt akan berakhir setiap 90 hari secara default. Dengan menjalankan cron job ini, Certbot akan memperbarui sertifikat SSL milikmu secara otomatis.
E. Kesimpulan
Instalasi n8n menggunakan Node.js di VPS Ubuntu 24.04 telah selesai. Untuk mengonfirmasi bahwa n8n sudah menggunakan HTTPS, buka web browser dan masukkan nama domain milikmu dalam format https://n8n.yourdomain.com.
Jika kamu melihat tampilan n8n tanpa peringatan SSL, artinya proses install n8n telah berhasil. Dengan konfigurasi ini, kamu memiliki platform automasi yang andal, aman, dan siap digunakan untuk mengintegrasikan berbagai alur kerja milikmu.