Persyaratan Server n8n

Seberapa besar mesin yang sebenarnya dibutuhkan instans n8n self-hosted, apa yang ditambahkan database, dan titik di mana satu instans tidak lagi cukup. Sebagian besar panduan ukuran yang kamu temukan secara online ditulis untuk queue mode, yang jarang benar-benar dibutuhkan orang, sehingga terkesan kebutuhannya jauh lebih besar dari yang sebenarnya.

Jawaban singkatnya

Satu instans n8n yang menjalankan workflow biasa bukanlah perangkat lunak yang berat. Dua vCPU dan 2 GB RAM sudah cukup nyaman untuk beban kerja nyata berupa job terjadwal, webhook, dan panggilan API, karena n8n sebagian besar waktunya menunggu layanan orang lain, bukan melakukan komputasi. Proses utama n8n sendiri sekitar 300 MB saat diam.

Yang sebenarnya mendorong angka itu naik bukanlah berapa banyak workflow yang kamu definisikan. Melainkan seberapa banyak data yang disimpan satu eksekusi di memori sekaligus, dan berapa banyak eksekusi yang berjalan bersamaan.

Apa yang memakai memori di n8n

n8n melewatkan data antar node sebagai item yang disimpan di memori selama masa hidup eksekusi. Ini punya konsekuensi penting untuk ukuran: workflow yang mengambil sepuluh ribu baris dan memetakannya lewat lima node jauh lebih berat daripada seratus workflow yang masing-masing hanya memindahkan payload webhook.

  • Ukuran payload per eksekusi. Respons HTTP yang besar, impor spreadsheet, dan file biner adalah penyebab umum instans yang tadinya baik-baik saja tiba-tiba tidak lagi.
  • Konkurensi. Sepuluh eksekusi yang berjalan bersamaan masing-masing menyimpan working set-nya sendiri. Jadwal yang memicu beberapa workflow di menit yang sama adalah lonjakan yang tidak kamu rencanakan.
  • Riwayat eksekusi. Data eksekusi yang tersimpan menumpuk di database. Ini soal disk dan database, bukan RAM, tetapi inilah yang diam-diam tumbuh selama berbulan-bulan lalu menjadi masalah.

Implikasinya dalam praktik: jika kamu memproses payload besar, pecah-pecahlah. Membagi dataset besar menjadi potongan-potongan lebih berpengaruh terhadap stabilitas daripada menambah RAM berapa pun, karena yang diubah adalah puncaknya, bukan batas atasnya.

Database adalah kebutuhan, bukan optimisasi

n8n menggunakan SQLite secara default, yang cukup untuk uji coba tetapi buruk untuk produksi. SQLite menangani eksekusi konkuren dengan buruk dan sulit di-backup serta di-restore secara andal. PostgreSQL adalah jawaban produksi, dan itu tidak gratis dalam hal sumber daya: sisihkan sekitar 500 MB hingga 1 GB untuk itu, yang akan bertambah seiring riwayat eksekusi kamu.

Angka itu adalah yang paling sering digabungkan secara diam-diam oleh panduan ukuran ke dalam kotak yang sama dengan n8n itu sendiri. Di VPS DIY, angka itu berasal dari RAM yang sama dengan workflow kamu, bersama runtime container, reverse proxy, dan sistem operasinya. Pada paket kami, klaster PostgreSQL adalah komponen high-availability terpisah dengan memorinya sendiri, jadi RAM dalam nama paket adalah RAM untuk n8n.

Paketn8nDatabaseCocok untuk
Kecil, $6.99/mo1 GB, 2 vCores1 GB HA PostgreSQLOtomatisasi pribadi, webhook, payload kecil
Sedang, $7.99/mo2 GB, 2.5 vCores1 GB HA PostgreSQLBeban kerja produksi sungguhan dengan ukuran payload yang beragam
Besar, $12.49/mo4 GB, 4 vCores2 GB HA PostgreSQLEksekusi yang berat data, konkurensi lebih tinggi, node AI

CPU: biasanya bukan batasan

n8n didominasi oleh waktu tunggu. Sebuah eksekusi menghabiskan waktunya untuk round trip jaringan ke API, bukan untuk komputasi, jadi dua core sudah sangat membantu. Pengecualiannya nyata tetapi spesifik: transformasi data berat di Code node, parsing JSON besar, dan workflow AI yang melakukan pekerjaan lokal yang berarti, bukan sekadar memanggil API model. Jika workflow kamu sebagian besar integrasi, tambahkan RAM sebelum core.

Kapan kamu membutuhkan queue mode

Secara default, n8n menjalankan semuanya dalam satu proses. Queue mode memisahkannya: instans utama menerima trigger dan menyerahkan eksekusi ke proses worker terpisah lewat Redis, sehingga proses utama tetap responsif berapa pun lama sebuah job berjalan. Ini adalah jawaban standar untuk menskalakan n8n, dan juga alasan mengapa sebagian besar saran ukuran yang dipublikasikan terlihat begitu berat.

Kamu membutuhkannya jika salah satu dari ini benar, dan tidak sebelumnya:

  • Eksekusi panjang memblokir eksekusi yang pendek. Workflow yang memakan lima menit akan membuat webhook yang masuk harus menunggu di belakangnya dalam mode satu proses. Dalam queue mode, instans utama langsung memberi konfirmasi dan worker yang mengerjakannya.
  • Kamu melihat antrean yang terlihat jelas. Tanda yang paling jelas adalah eksekusi yang menunggu lebih dari beberapa detik di UI n8n. Itu berarti antrean sedang terbentuk, dan tidak ada RAM tambahan pada satu proses yang bisa menghilangkannya.
  • Satu job berat bisa menjatuhkan seluruh instans bersamanya. Isolasi sering kali menjadi motivasi yang sebenarnya, bukan throughput.

Queue mode menambahkan dua hal ke kebutuhanmu. Redis, yang kecil sekitar 128 MB tetapi merupakan komponen lain yang harus dijalankan, dan RAM per worker: setiap proses worker memakai sekitar 200 hingga 500 MB tergantung pada isi workflow kamu. Dua worker adalah titik awal yang masuk akal, dan kamu baru menambah lebih banyak saat antrean memintanya. Worker lebih membutuhkan RAM daripada core, itulah sebabnya jalur penskalaan biasa menambah memori dua atau tiga kali sebelum menambah CPU.

Terus terang saja: deployment queue-mode dengan banyak worker memerlukan komponen Redis dan memori lebih besar daripada yang disediakan tingkatan di atas, jadi paket-paket ini memang bukan untuk itu. Paket ini adalah n8n instans tunggal dengan database high-availability, yang merupakan kondisi sebagian besar instans self-hosted. Jika kamu sudah mengukur adanya antrean dan benar-benar membutuhkan worker, kamu sudah melampaui deployment satu-klik dan sebaiknya mengukur stack khusus untuk itu.

Storage, dan hal yang terus bertambah

n8n sendiri hampir tidak membutuhkan disk. Riwayat eksekusi-lah yang bertambah, dan pertumbuhannya sebanding dengan seberapa sering workflow kamu berjalan, bukan dengan berapa banyak workflow yang kamu miliki. Workflow yang melakukan polling API setiap sepuluh menit saja menghasilkan sekitar 4,300 eksekusi per bulan. Atur penghapusan data eksekusi tersimpan dengan kebijakan retensi daripada menunggu disk yang memutuskannya untukmu, dan simpan eksekusi yang gagal lebih lama daripada yang berhasil, karena hanya itu yang akan pernah kamu baca.

Persyaratan yang bukan perangkat keras

Dua di antaranya lebih penting daripada spesifikasi apa pun. Webhook membutuhkan alamat HTTPS publik yang stabil, yang berarti domain sungguhan, sertifikat yang valid, dan reverse proxy di depan n8n; instans self-hosted tanpa itu bisa menjalankan jadwal tetapi tidak bisa menerima apa pun. Dan platform otomatisasi harus aktif saat trigger dipicu, sehingga laptop tidak cocok dan uptime menjadi kebutuhan dalam arti yang sama seperti RAM.

Atur ukurannya dalam 30 detik

Instans n8n khusus dengan database PostgreSQL high-availability dan webhook HTTPS yang sudah berfungsi. Mulai dari $6.99/mo, minggu pertama gratis.

Pertanyaan yang sering diajukan

How much RAM does n8n need?

Two vCPU and 2 GB comfortably runs a real production workload of scheduled jobs and webhooks, with the n8n main process sitting around 300 MB at rest. What raises the number is payload size per execution and concurrency, not how many workflows you have defined. Add PostgreSQL to that if it shares the same machine, which is another 500 MB to 1 GB.

Does n8n need a lot of CPU?

Usually not. Executions are dominated by waiting on external APIs rather than by computation, so two cores go a long way. Heavy Code-node transformations, large JSON parsing and AI workflows doing local work are the genuine exceptions.

Do I need PostgreSQL for n8n?

For production, yes. SQLite is fine for a trial but handles concurrent executions badly and is awkward to back up and restore reliably. PostgreSQL is the production answer, and on a DIY VPS it takes 500 MB to 1 GB out of the same memory as your workflows.

When should I switch n8n to queue mode?

When long executions start blocking short ones, or when you can see executions waiting more than a few seconds in the n8n UI. That backlog is the signal, and it is not fixed by adding RAM to a single process. Below that point, queue mode adds Redis and worker processes for no benefit.

How much RAM does each n8n worker need?

Roughly 200 to 500 MB each, depending on what your workflows carry, plus about 128 MB for Redis. Start with two workers and add more only when the backlog says so. Workers need memory far more than cores, so the usual upgrade path raises RAM two or three times before it raises CPU.

Can I run n8n on a Raspberry Pi?

The resource requirements are low enough that the hardware is rarely the obstacle. Uptime and a public HTTPS endpoint are. An automation platform has to be reachable when the trigger fires, and webhooks need a stable certificate-backed URL, which is where home hosting usually breaks down rather than at the specification.