Cara Backup Workflow n8n Otomatis ke GitHub
Hitung cepat: berapa jam yang sudah tertanam di semua workflow n8n Anda — merancang alur, mencari nama field, menguji jalur gagal? Sekarang bayangkan disk VPS-nya mati malam ini. Kalau jawabannya "membangun ulang dari ingatan", artikel ini untuk Anda. Kita akan membuat n8n mem-backup seluruh workflow-nya sendiri ke repository GitHub setiap malam — versi lengkap dengan riwayat perubahan, gratis, dan setelah dipasang tidak perlu diingat lagi.
Apa saja yang hilang kalau server n8n mati
Dua aset hidup di dalam n8n: workflow (definisi alur, node, expression — hasil kerja intelektual Anda) dan credentials (kunci-kunci API terenkripsi). Tutorial ini menyelamatkan yang pertama secara otomatis. Yang kedua sengaja diperlakukan berbeda — kita bahas di bagian akhir, karena menyalin rahasia ke repository adalah obat yang lebih buruk dari penyakitnya.
Langkah 1: Export manual dan pahami format JSON-nya
Sebelum otomatis, lihat dulu bentuk barangnya. Buka satu workflow, menu titik tiga → Download. Hasilnya file JSON yang memuat seluruh definisi: node, posisi, koneksi, expression. Dua fakta yang membuat lega: file ini bisa di-import ke instance n8n mana pun (menu Import from File), dan ia tidak memuat isi credentials — hanya nama credential yang dirujuk. Artinya file backup Anda aman dibaca, dan restore di server baru tinggal import lalu menyambungkan ulang credential.
Langkah 2: Siapkan repository dan token GitHub
- Buat repository private baru, misalnya
n8n-backup. Private bukan karena isinya rahasia besar, tapi karena struktur otomasi internal tidak perlu jadi bacaan publik. - Buat fine-grained personal access token: Settings → Developer settings → Personal access tokens. Batasi aksesnya ke repository itu saja, dengan izin Contents: read and write. Token sempit yang bocor merusak satu repo, bukan seluruh akun.
- Simpan token sebagai credential GitHub API di n8n.
Langkah 3: Buat workflow yang mem-backup semua workflow
Ide utamanya elegan: n8n punya API internal untuk membaca daftar workflow-nya sendiri, jadi sebuah workflow bisa memotret seluruh isi instance. Susunannya:
- Schedule Trigger — tiap malam, misalnya 02:00.
- Node n8n (ya, ada node bernama "n8n") — operasi Workflow → Get Many, mengembalikan semua workflow beserta definisinya. Node ini butuh credential n8n API: buat API key di Settings → n8n API pada instance Anda, lalu simpan sebagai credential dengan base URL instance sendiri.
- Node GitHub — operasi File → Edit (fallback ke Create untuk file baru), satu file per workflow: path
workflows/{{ $json.name }}.json, isi dari definisi workflow, commit message berisi tanggal. Untuk menangani "edit kalau ada, create kalau belum", pola paling sederhana adalah mencoba Edit dan mengarahkan error-nya ke cabang Create — teknik cabang error yang dibahas di tutorial error handling n8n.
Jalankan manual sekali, buka repository, dan nikmati pemandangannya: seluruh otomasi Anda kini berbaris rapi sebagai file, dan setiap perubahan malam-malam berikutnya tercatat sebagai commit — Anda mendapat riwayat versi gratis. Menghapus node penting hari Kamis? Commit hari Rabu masih menyimpannya.
Langkah 4: Uji restore, bukan cuma backup
Aturan yang sama untuk semua backup di dunia: yang belum pernah di-restore belum terbukti ada. Lakukan sekali, sekarang: ambil satu file JSON dari repository, import ke n8n (bisa instance yang sama), sambungkan credential-nya, jalankan. Sepuluh menit ini mengubah "harusnya bisa dipulihkan" menjadi "sudah pernah saya pulihkan" — dua kalimat yang rasanya sangat berbeda saat diucapkan di tengah insiden.
Yang tidak ikut ter-backup: credentials
Dan memang sebaiknya begitu. Isi credentials terenkripsi dengan encryption key instance Anda, dan menyalinnya keluar dalam bentuk apa pun memperluas permukaan bocornya. Strategi yang benar ada dua lapis: pertama, simpan semua rahasia (API key Google, token Telegram, dan lainnya) di password manager tim sebagai sumber kebenaran — kalau server mati total, credential dibuat ulang dari sana dalam hitungan menit. Kedua, backup volume Docker n8n (folder .n8n berisi database dan encryption key) lewat mekanisme backup server biasa; dengan volume dan key yang sama, instance baru bangun lengkap dengan credential-nya.
Dengan tiga lapis itu — workflow di GitHub, rahasia di password manager, volume di backup server — instance n8n Anda boleh mati kapan saja tanpa membawa serta hasil kerja Anda.
Jadikan ini bagian dari rutinitas perawatan yang lebih besar: penjadwalan workflow untuk dasar-dasarnya, atau serahkan seluruh urusan bangun-dan-rawat ini ke layanan AI automation Clovertechno.
Clovertechno