---
title: "Cara Update n8n di VPS Tanpa Kehilangan Workflow"
description: "Langkah aman memperbarui n8n di VPS dengan Docker Compose, dari backup workflow dan kredensial, menyimpan encryption key, sampai cara mundur bila gagal."
url: "https://nivelva.com/insight/cara-update-n8n-vps-kehilangan-workflow"
category: "AI \u0026 Otomasi"
tags: ["n8n","docker compose","update","backup","vps"]
author: "Theresia Candiawan"
published: "2026-11-07T13:55:00+07:00"
updated: "2026-11-07T13:55:00+07:00"
language: "id"
publisher: "Nivelva (https://nivelva.com)"
---

# Cara Update n8n di VPS Tanpa Kehilangan Workflow

> **Jawaban singkat:** Sebelum update, ekspor workflow dan kredensial, salin volume /home/node/.n8n beserta encryption key, dan baca catatan rilis. Lalu kunci versi image, jalankan docker compose pull dan up -d, dan periksa workflow aktif. Data aman selama volume tetap terpasang.

Takut workflow n8n yang sudah berbulan-bulan kamu susun hilang begitu tombol update ditekan? Kekhawatiran itu wajar, tetapi risikonya bisa ditekan sampai hampir nol. Workflow, kredensial, dan riwayat eksekusi n8n tidak disimpan di dalam image Docker, melainkan di volume data (dan database, bila kamu memakai PostgreSQL). Selama volume itu tetap terpasang dan kamu punya cadangannya, mengganti versi n8n hanyalah mengganti program yang membaca data tersebut.

Yang sering membuat orang kehilangan data justru hal di sekitarnya: menjalankan container tanpa volume, kehilangan encryption key, atau melompat ke versi mayor tanpa membaca perubahan yang tidak kompatibel. Langkah di bawah menutup ketiga celah itu. Contohnya memakai Docker Compose, cara instalasi n8n yang paling umum di VPS.

## Langkah update n8n dengan aman

### 1. Pastikan data memang tersimpan di volume

Buka `docker-compose.yml` dan cari bagian `volumes` pada layanan n8n. Harus ada baris yang memetakan volume atau folder ke `/home/node/.n8n`, misalnya:

```yaml
services:
  n8n:
    image: docker.n8n.io/n8nio/n8n:2.35.0
    volumes:
      - n8n_data:/home/node/.n8n
volumes:
  n8n_data:
```

Dokumentasi n8n menyebut folder ini menyimpan encryption key, log instance, dan aset source control, dan tetap perlu dipetakan meski kamu memakai PostgreSQL. Bila memakai SQLite bawaan, file database juga ada di folder ini. Kalau baris volume tidak ada, berhenti dulu: data kamu ada di dalam container, dan menghapus container berarti menghapus data. Ekspor semuanya (langkah 2) sebelum memperbaiki konfigurasi. Nomor versi di contoh hanyalah ilustrasi, ganti dengan versi yang kamu tuju.

### 2. Ekspor workflow dan kredensial

Jalankan perintah CLI n8n di dalam container. Sesuaikan nama container dengan milikmu (cek dengan `docker ps`):

```bash
docker exec -u node -it n8n n8n export:workflow --backup --output=/home/node/.n8n/backup/
docker exec -u node -it n8n n8n export:credentials --backup --output=/home/node/.n8n/backup/
```

Opsi `--backup` setara dengan `--all --pretty --separate`, jadi setiap workflow tersimpan sebagai satu file JSON. Kredensial diekspor dalam keadaan terenkripsi, dan hanya bisa dibuka lagi dengan encryption key yang sama. Salin folder hasil ekspor ke luar server, misalnya ke laptop atau object storage.

### 3. Simpan encryption key

Encryption key ada di file `/home/node/.n8n/config`, atau di variabel `N8N_ENCRYPTION_KEY` bila kamu mengaturnya sendiri. Tanpa kunci ini, semua kredensial (API key, password database, token OAuth) tidak bisa didekripsi, dan kamu harus memasukkan ulang satu per satu. Catat nilainya di password manager.

### 4. Cadangkan database dan volume

Untuk PostgreSQL, buat dump sebelum update:

```bash
docker exec -t postgres pg_dump -U n8n -d n8n > n8n-sebelum-update.sql
```

Untuk SQLite, hentikan n8n sebentar lalu salin seluruh isi volume. Cara paling aman di VPS adalah mengambil snapshot sesaat sebelum update, sehingga kamu bisa kembali ke kondisi persis sebelumnya bila ada masalah besar. Bedanya snapshot dan backup dijelaskan di [snapshot VPS vs backup](https://nivelva.com/insight/apa-itu-snapshot-vps-bedanya-backup), dan backup database berkala ada di [backup database otomatis](https://nivelva.com/insight/backup-database-otomatis).

### 5. Baca catatan rilis, terutama lompatan versi mayor

Update dalam versi minor yang sama biasanya mulus. Lompatan versi mayor berbeda. Saat n8n 2.0 dirilis, misalnya, dokumentasi resminya mencantumkan sejumlah perubahan yang tidak kompatibel, di antaranya akses variabel lingkungan dari Code node diblokir secara bawaan dan beberapa node dinonaktifkan secara bawaan. n8n juga menyediakan **Migration Report** di menu Settings (untuk admin) yang menandai workflow yang terdampak sebelum kamu naik versi.

> **Perhatian:**
>
> Update n8n bisa menjalankan migrasi database. Setelah migrasi berjalan, mengganti image kembali ke versi lama belum tentu berhasil karena struktur database sudah berubah. Karena itu backup dan snapshot di langkah 4 wajib, bukan pilihan.

### 6. Kunci versi, lalu jalankan update

Hindari tag `latest` di produksi. Tulis versi spesifik di `image`, sehingga kamu tahu persis versi yang berjalan dan update hanya terjadi saat kamu mengubah angkanya. Setelah mengganti nomor versi, jalankan sesuai panduan resmi:

```bash
cd /path/folder/compose
docker compose pull
docker compose down
docker compose up -d
```

Pantau log saat container pertama kali naik, karena migrasi database terlihat di sini:

```bash
docker compose logs -f n8n
```

Pola umum memperbarui container tanpa kehilangan data dibahas lebih luas di [cara update container Docker tanpa kehilangan data](https://nivelva.com/insight/cara-update-container-docker-kehilangan-data).

### 7. Periksa hasilnya

Setelah n8n bisa dibuka, cek beberapa hal:

- Jumlah workflow sama dengan sebelum update.
- Workflow yang tadinya aktif masih aktif.
- Kredensial bisa dipakai (jalankan satu workflow yang memakai API eksternal).
- Webhook produksi masih menerima data. Bila tidak, lihat [penyebab webhook n8n tidak jalan](https://nivelva.com/insight/webhook-n8n-tidak-jalan-penyebab-solusinya).
- Tab Executions tidak dipenuhi error baru.

## Kalau update gagal, bagaimana cara mundur?

Urutan pemulihannya dari yang paling ringan:

| Kondisi | Tindakan |
|:--|:--|
| n8n naik tetapi beberapa workflow error | Perbaiki node yang terdampak sesuai catatan rilis |
| n8n gagal naik, migrasi belum berjalan | Kembalikan tag image ke versi lama, `docker compose up -d` |
| Migrasi sudah berjalan dan versi lama menolak database | Pulihkan dump database atau salinan volume, lalu jalankan versi lama |
| Kondisi server kacau | Kembalikan snapshot VPS yang diambil sebelum update |
| Volume hilang sama sekali | Pasang n8n baru dengan encryption key lama, lalu impor hasil ekspor |

Untuk skenario terakhir, impor dilakukan dengan `n8n import:workflow --separate --input=<folder>` dan `n8n import:credentials --separate --input=<folder>`. Dokumentasi n8n mengingatkan bahwa impor menimpa workflow dengan ID yang sama, dan workflow hasil impor dinonaktifkan secara bawaan, jadi aktifkan kembali yang diperlukan.

## Pertanyaan yang sering diajukan

### Seberapa sering n8n perlu diperbarui?

n8n merilis versi baru dengan cepat. Untuk produksi, jadwalkan update rutin, misalnya bulanan, dan segera perbarui bila ada rilis perbaikan keamanan. Jangan mengaktifkan update otomatis tanpa pengawasan.

### Apakah bisa langsung melompat beberapa versi sekaligus?

Dalam satu versi mayor biasanya bisa, karena migrasi database dijalankan berurutan. Untuk lompatan versi mayor, baca daftar perubahan yang tidak kompatibel dan jalankan Migration Report lebih dulu.

### Perlukah ekspor kredensial dalam bentuk terdekripsi?

Sebaiknya tidak, kecuali benar-benar perlu memindahkan ke instance dengan kunci berbeda. File terdekripsi berisi semua password dan token dalam teks biasa. Bila terpaksa, simpan di tempat terenkripsi dan hapus setelah dipakai.

### Bagaimana menguji update tanpa mengganggu produksi?

Pulihkan backup ke server atau container terpisah, jalankan versi baru di sana, dan uji workflow penting. Matikan dulu pemicu terjadwal di salinan uji agar tidak mengirim pesan atau data ganda.

Checklist update n8n:

- Volume `/home/node/.n8n` terpasang dengan benar.
- Workflow dan kredensial sudah diekspor dan disalin ke luar server.
- Encryption key tercatat di tempat aman.
- Dump database atau snapshot VPS sudah diambil.
- Catatan rilis sudah dibaca, versi image ditulis spesifik.
- Workflow aktif, kredensial, dan webhook sudah dicek setelah update.

## Sumber

- <https://docs.n8n.io/hosting/installation/docker/>
- <https://docs.n8n.io/hosting/cli-commands/>
- <https://docs.n8n.io/release-notes/v20-breaking-changes>

---

Diterbitkan oleh Nivelva Insight (https://nivelva.com/insight/). Artikel ini: https://nivelva.com/insight/cara-update-n8n-vps-kehilangan-workflow
Kontak Nivelva: WhatsApp https://wa.me/6285111245007, email hello@nivelva.com
