Apa yang bisa kami bantu?

A. Pendahuluan

n8n adalah workflow automation tool berbasis Node.js yang dirancang untuk integrasi API, automasi notifikasi, sinkronisasi data, dan orkestrasi sistem. Menjalankan versi lama n8n berarti melewatkan patch keamanan kritis, perbaikan bug, dan peningkatan performa yang terus dirilis oleh tim pengembang.

Lakukan upgrade n8n secara berkala untuk mendapatkan:

  • Fitur dan integrasi terbaru
  • Patch keamanan terkini
  • Stabilitas dan performa yang lebih baik
  • Perbaikan bug yang telah dilaporkan

Panduan ini membahas proses upgrade n8n di server Ubuntu menggunakan dua metode:

  1. Docker — direkomendasikan untuk kemudahan rollback dan manajemen container
  2. Tanpa Docker (Node.js + systemd) — cocok untuk instalasi langsung tanpa container

Kedua metode ini dapat diterapkan pada layanan NEO VPS.

B. Instalasi / Konfigurasi Upgrade

1. Upgrade n8n Menggunakan Docker

Versi Sebelum Upgrade:

Gambar 1. Versi Before Upgrade
Gambar 2. Web Browser Versi

1.1 Update Paket Sistem

Perbarui seluruh paket sistem sebelum memulai proses upgrade:

sudo apt update && sudo apt upgrade -y

1.2 Backup Data n8n

Sebelum melakukan perubahan apapun, backup data n8n terlebih dahulu. Jalankan perintah berikut secara berurutan:

1. Cek container n8n yang sedang berjalan:

docker ps
Gambar 3. Docker PS

2. Buat direktori backup:

mkdir -p /opt/n8n-backup

3. Backup volume n8n menggunakan busybox:

docker run --rm \
 -v n8n_old_data:/data \
 -v /opt/n8n-backup:/backup \
 busybox sh -c "tar -czf /backup/n8n_backup_$(date +%F_%H%M).tar.gz -C /data ."

4. Verifikasi file backup berhasil dibuat:

ls -lh /opt/n8n-backup

Jika file .tar.gz muncul di output, backup berhasil dan data aman untuk dilanjutkan.

Gambar 4. Hasil Backup

1.3 Pull Image n8n Terbaru

1. Tarik image n8n versi terbaru dari registry:

docker pull n8nio/n8n:latest

2. Konfirmasi image sudah tersedia secara lokal:

docker images | grep n8nio/n8n

1.4 Upgrade: Hentikan Container Lama dan Jalankan Versi Terbaru

Data workflow tetap aman karena tersimpan di volume Docker, bukan di dalam container.

1. Hentikan dan hapus container lama:

docker stop n8n
docker rm n8n

Catatan: Jika nama container Anda bukan n8n, jalankan docker ps terlebih dahulu untuk mengecek nama yang benar, lalu sesuaikan perintah di atas.

2. Jalankan container baru menggunakan image terbaru dengan volume yang sama:

docker run -d \
  --name n8n \
  -p 5678:5678 \
  -v n8n_old_data:/home/node/.n8n \
  -e N8N_SECURE_COOKIE=false \
  --restart unless-stopped \
  n8nio/n8n:latest
Gambar 5. Running Docker Versi Baru

1.5 Pantau Log Migrasi

Pantau log container untuk memastikan proses migrasi database berjalan tanpa error:

docker logs -f --tail=200 n8n

1.6 Verifikasi Versi Terbaru

1. Cek versi n8n yang aktif di dalam container:

docker exec -it n8n n8n --version

2. Akses antarmuka web n8n melalui browser:

http://IP_SERVER:5678
Gambar 6. Tampilan setelah upgrade berhasil

2. Upgrade n8n Tanpa Docker (Node.js)

Metode ini menggunakan n8n yang diinstal langsung via npm, tanpa Docker. Pastikan n8n sudah terinstal di luar Docker sebelum mengikuti langkah-langkah berikut. Tutorial ini dimulai dari versi 1.45.

Gambar 7. Tutorial menggunakan npm versi 10 dan node versi 20
Gambar 8. n8n berjalan di luar Docker

2.1 Update Sistem

Perbarui paket sistem terlebih dahulu:

sudo apt update && sudo apt upgrade -y

2.2 Backup Folder Data

Lokasi folder data n8n bergantung pada user yang menjalankannya:

  • Dijalankan sebagai user n8n: /home/n8n/.n8n
  • Dijalankan sebagai root: /root/.n8n

Backup untuk user n8n:

sudo tar -czf n8n_backup_$(date +%F).tar.gz /home/n8n/.n8n

Backup untuk root:

sudo tar -czf n8n_backup_$(date +%F).tar.gz /root/.n8n

Verifikasi file backup terbentuk:

ls -lh n8n_backup_*.tar.gz
Gambar 9. File backup berhasil terbentuk

2.3 Hentikan Service n8n

Jika menggunakan systemd:

sudo systemctl stop n8n

Jika dijalankan secara manual: Tekan Ctrl + C pada terminal yang menjalankan n8n.

Konfirmasi port 5678 sudah tidak digunakan:

sudo ss -ltnp | grep 5678

2.4 Upgrade n8n ke Versi Terbaru

Jalankan perintah berikut untuk menginstal versi terbaru n8n secara global via npm:

sudo npm install -g n8n@latest

Tunggu hingga proses instalasi selesai sepenuhnya sebelum melanjutkan ke langkah berikutnya.

Gambar 10. Proses upgrade n8n ke versi latest selesai

2.5 Verifikasi Versi Baru

Konfirmasi versi n8n yang aktif telah berubah:

n8n --version

Versi yang tampil seharusnya sudah berubah dari 1.45.1 menjadi versi terbaru (contoh: 2.x.x).

Gambar 11. Versi n8n sudah diperbarui

2.6 Jalankan Kembali Service n8n

Jika menggunakan systemd:

sudo systemctl start n8n
sudo systemctl status n8n
Gambar 12. n8n Running

Jika dijalankan secara manual:

n8n start

2.7 Cek Log Jika Terjadi Error

Jika menggunakan systemd:

sudo journalctl -u n8n -n 100 --no-pager

Jika dijalankan secara manual:

n8n start

Pada output log, pastikan baris-baris berikut muncul sebagai tanda upgrade berhasil:

  • Migrations in progress...
  • Finished migration ...
  • n8n ready on 0.0.0.0, port 5678
Gambar 13. Proses running berjalan

2.8 Verifikasi Melalui Browser

Buka browser dan akses URL berikut:

http://IP_SERVER:5678

Pastikan tampilan UI n8n sudah mencerminkan versi terbaru yang baru diinstal.

Gambar 14. Tampilan n8n setelah upgrade berhasil

2.9 Rollback ke Versi Sebelumnya

Jika terjadi error setelah upgrade, ikuti langkah-langkah rollback berikut:

1. Hentikan service n8n:

sudo systemctl stop n8n

2. Instal kembali versi n8n sebelumnya:

sudo npm install -g n8n@1.45.1

3. Hapus data yang rusak dan restore dari backup:

sudo rm -rf /home/n8n/.n8n
sudo tar -xzf n8n_backup_YYYY-MM-DD.tar.gz -C /

4. Jalankan kembali service:

sudo systemctl start n8n

C. Hasil Uji Coba / Langkah-Langkah Verifikasi

Setelah upgrade selesai, lakukan pengujian berikut untuk memastikan n8n berjalan dengan benar:

  1. Buka browser dan akses http://IP_SERVER:5678
  2. Login ke dashboard n8n menggunakan kredensial yang ada
  3. Jalankan salah satu workflow yang sudah ada sebagai uji fungsionalitas
  4. Buka menu Executions dan pastikan tidak ada error yang muncul
  5. Periksa log sistem jika diperlukan investigasi lebih lanjut:

Docker:

docker logs n8n

Non-Docker:

journalctl -u n8n -f

D. Kesimpulan / Penutup

Upgrade n8n dapat dilakukan dengan aman menggunakan metode Docker maupun non-Docker, selama proses backup dijalankan sebelum memulai. Metode Docker direkomendasikan karena memudahkan rollback dan manajemen container jangka panjang. Metode non-Docker lebih sesuai untuk instalasi ringan yang tidak memerlukan container.

Semoga artikel ini dapat membantu Anda. Temukan bantuan lainnya melalui Knowledge Base Biznet Gio. Jika Anda masih memiliki kendala silakan hubungi Support Biznet GIO melalui email support@biznetgio.com atau live chat maupun WA ke website www.biznetgio.com dan bisa juga melalui telepon ke nomor (021) 5714567.