Men-deploy n8n di VPS tanpa Docker

calendar_today
schedule 3 min read

Cara Men-deploy n8n di VPS Tanpa Docker

Yo, bro! Kali ini gue mau kasih tau nih cara men-deploy n8n di VPS tanpa perlu ribet-ribet pakai Docker. n8n tuh bisa dibilang platform automation workflow yang keren banget, mirip kayak Zapier tapi open-source dan bisa kita bikin sendiri. Jadi, pokoknya keren lah!

Nah, buat yang udah punya VPS dan pengen pake n8n tapi nggak mau ribet sama Docker, gue punya solusinya nih. Yuk, simak step-by-step-nya!

1. Persiapkan VPS

Pertama-tama, pastiin dulu VPS lo udah siap. Minimal pake Ubuntu 18.04 atau yang lebih baru. Jangan lupa login ke VPS pake SSH ya.

code
ssh username@ip_address

2. Install Node.js dan npm

Karena n8n tuh berbasis Node.js, jadi perlu install dulu Node.js sama npm. Lo bisa install pake nvm atau langsung dari repository.

code
curl -sL https://deb.nodesource.com/setup_16.x | sudo -E bash -
sudo apt install nodejs

Cek versi Node.js dan npm untuk mastiin instalasinya berhasil:

code
node -v
npm -v

3. Install n8n

Sekarang tinggal install n8n. Lo bisa install n8n secara global pake npm.

code
sudo npm install n8n -g

4. Pindah ke Direktori Home

Kita perlu buat direktori khusus buat n8n biar nggak berantakan.

code
cd ~

5. Buat User System untuk n8n

Supaya lebih aman, bikin user khusus buat menjalankan n8n.

code
sudo useradd -m -d /home/n8n -s /bin/bash n8n

Kemudian, set password untuk user n8n:

code
sudo passwd n8n

6. Install PM2

PM2 tuh process manager untuk Node.js supaya bisa jalan terus walaupun lo udah logout dari VPS. Install dulu PM2 secara global.

code
sudo npm install pm2 -g

7. Jalankan n8n pake PM2

Sekarang kita bisa jalankan n8n pake PM2 biar bisa auto start.

Pindah ke user n8n:

code
sudo su - n8n

Jalankan n8n pake PM2:

code
pm2 start n8n

8. Set up Reverse Proxy (Opsional)

Kalo mau lo bisa akses n8n via domain atau subdomain, lo bisa set up reverse proxy pakai Nginx atau Apache. Tapi karena ini cuman opsional, lo bisa skip kalo nggak butuh.

Contoh konfigurasi Nginx:

code
server {
    server_name n8n.loinya.domain;

    location / {
        proxy_pass http://localhost:5678;
        proxy_set_header Connection '';
        proxy_http_version 1.1;
        chunked_transfer_encoding off;
        proxy_buffering off;
        proxy_cache off;
    }
}

Setelah itu, restart Nginx:

code
sudo systemctl restart nginx

9. Akses n8n

Nah, sekarang n8n lo udah siap! Lo bisa akses n8n lewat browser pake alamat IP VPS atau domain yang udah lo siapin. Jangan lupa buka port 5678 di firewall ya kalo lo belum buat reverse proxy.

code
http://<ip_address>:5678

10. Tips & Trik

  • Kalo lo mau nge-backup workflow n8n, lo bisa ekspor dulu workflow-nya ke file JSON.
  • Untuk update n8n, lo tinggal upgrade pake npm aja:
code
sudo npm update n8n -g

Dan itu aja! Nggak perlu ribet kan? Sekarang lo bisa otomatisasi banyak hal pake n8n tanpa perlu pusing sama Docker. Selamat mencoba ya!

Referensi:

A

Written by Ariful

Full-stack engineer obsessed with web performance.