Cara Install n8n dengan Docker di VPS Ubuntu

Kalau kamu sering kerja bareng banyak aplikasi (misal notif Telegram pas ada order baru, auto-backup ke cloud, atau sinkronin data antar tools), pasti pernah kepikiran pakai Zapier atau Make. Masalahnya, tools kayak gitu bayar bulanan dan ada limit task. n8n Docker jadi alternatif open-source yang bisa kamu host sendiri, gratis, dan gak ada limit task selama server kamu kuat.

Di artikel ini kita bahas cara install n8n dengan Docker di VPS Ubuntu, dari setup dasar sampai bikin workflow pertama kamu.

Kenapa Pakai n8n Docker Dibanding Zapier

n8n itu tools automation workflow yang mirip fungsinya sama Zapier atau Make, tapi bedanya kamu host sendiri di server kamu. Kamu bisa bikin workflow visual dengan drag-and-drop node, connect ke ratusan aplikasi (Telegram, Discord, Google Sheets, database, API custom, dll), dan jalanin otomatis sesuai trigger yang kamu tentuin. Karena self-hosted, gak ada batasan jumlah task/eksekusi bulanan kayak versi cloud yang berbayar, dan semua data workflow kamu tetap di server kamu sendiri.

Buat referensi lengkap fitur dan node yang didukung, kamu bisa cek dokumentasi resmi n8n soal instalasi Docker. n8n sendiri udah support lebih dari 400 integrasi dan punya ratusan template workflow siap pakai yang bisa kamu contek.

Yang kamu butuhin cuma VPS dengan Docker udah terinstal, port 5678 yang masih kosong, dan RAM minimal 1GB tersisa buat performa yang nyaman. Satu hal yang worth diingat sebelum mulai pasang banyak workflow: automation itu enak sampai suatu saat diam-diam berhenti jalan tanpa kamu sadar, entah gara-gara API pihak ketiga berubah atau credential expired. Sama kayak job scheduler, automation juga butuh cara buat kamu tau kalau ada yang gagal, bukan cuma diasumsikan selalu jalan lancar.

1. Install n8n Docker Pakai Docker Run

Cara paling simpel, bikin volume dulu buat nyimpen data workflow kamu biar persisten. Volume ini penting banget, karena tanpa ini semua workflow yang kamu bikin bakal ilang begitu container di-restart:

docker volume create n8n_data

Terus jalankan container-nya:

docker run -d 
--name n8n 
--restart unless-stopped 
-p 5678:5678 
-v n8n_data:/home/node/.n8n 
-e GENERIC_TIMEZONE="Asia/Jakarta" 
docker.n8n.io/n8nio/n8n

Environment variable GENERIC_TIMEZONE penting banget diset, biar semua jadwal/trigger workflow kamu jalan sesuai waktu lokal, bukan default UTC yang bisa bikin bingung pas debug kenapa workflow jalan di jam yang salah.

2. Atau Pakai Docker Compose

Kalau kamu lebih suka Docker Compose, bikin file docker-compose.yml:

services:
  n8n:
    image: docker.n8n.io/n8nio/n8n
    container_name: n8n
    restart: unless-stopped
    ports:
      - "5678:5678"
    environment:
      - GENERIC_TIMEZONE=Asia/Jakarta
    volumes:
      - n8n_data:/home/node/.n8n

volumes:
  n8n_data:

Jalankan dengan:

docker compose up -d

3. Buka Port di Firewall

Kalau kamu pakai UFW (baca juga panduan setup UFW firewall kalau belum pernah setting), buka port 5678:

sudo ufw allow 5678/tcp

4. Setup Akun Owner n8n Docker Pertama Kali

Buka browser, akses:

http://IP-VPS:5678

Di percobaan pertama, n8n bakal minta kamu bikin akun owner (email, nama, password). Akun ini punya akses penuh buat kelola semua workflow, credential, dan setting instance kamu, jadi pastiin kamu pakai password yang kuat sejak awal.

5. Bikin Workflow Pertama Kamu

Setelah login, klik + Add workflow. Kamu bakal masuk ke canvas editor visual. Klik tombol + buat nambahin node pertama, pilih trigger (misal Schedule Trigger buat jalanin otomatis tiap interval tertentu, atau Webhook buat trigger dari request eksternal). Setelah itu, tambahin node aksi (misal kirim pesan Telegram, tulis ke Google Sheets, atau HTTP request ke API lain), terus connect node-nya dengan drag garis di antara mereka.

Klik Save, terus toggle Active di pojok kanan atas biar workflow-nya beneran jalan otomatis sesuai trigger yang kamu set. Tanpa toggle ini diaktifin, workflow kamu cuma kesimpen doang, gak bakal jalan otomatis meskipun kamu udah save.

Kalau Workflow-nya Gak Sesuai Rencana

Kalau web UI gak bisa diakses meski container jalan, cek firewall UFW dan security group cloud provider, pastiin port 5678 kebuka dari kedua sisi. Kalau workflow gak jalan otomatis sesuai jadwal, pastiin toggle Active di workflow udah nyala (bukan cuma di-save doang), dan cek timezone container udah sesuai dengan GENERIC_TIMEZONE, ini yang paling sering kelewat.

Kalau data workflow ilang setelah container di-update, cek lagi volume n8n_data:/home/node/.n8n udah kemount dengan benar, ini folder yang nyimpen semua workflow dan credential kamu. Dan kalau webhook gak bisa diakses dari luar, pastiin server kamu punya domain dan SSL yang valid, karena banyak layanan eksternal nolak kirim webhook ke endpoint HTTP polos tanpa HTTPS.

Penutup

Nah, segitu aja cara install n8n dengan Docker di VPS Ubuntu. Sekali kamu terbiasa sama canvas editornya, n8n bisa jadi tulang punggung buat otomatisasi banyak proses berulang, dari yang simpel sampai yang kompleks. Kalau ada yang error atau nyangkut, drop komentar aja bro.

Jundi Husni Mubaraq

Jundi Husni Mubaraq

Saya seorang software engineer yang sejak awal 2026 megang penuh (sendirian) tanggung jawab infrastruktur server di tempat saya kerja: deploy dan maintain server Linux Ubuntu on-premises, bangun keamanan berlapis pakai CrowdSec dan Cloudflare, kelola job scheduling dan monitoring pakai Cronicle, deploy aplikasi containerized pakai Docker, sampai ngurusin mail server korporat dari nol. Sebelumnya saya 3+ tahun jadi Software Engineer/Fullstack Developer di beberapa perusahaan, termasuk proyek skala internasional (EUDR compliance system buat Lindt & Sprungli) dan sistem rumah sakit (SIMRS, rekam medis elektronik, integrasi BPJS Kesehatan) di RS PKU Muhammadiyah Surakarta. jundi.hm ini tempat saya dokumentasiin apa yang beneran saya kerjain dan pelajarin di lapangan, bukan sekadar riset teori, S.Kom dari Universitas Duta Bangsa Surakarta jadi bekal awal, tapi yang nulis di sini adalah pengalaman langsung ngelola server production sehari-hari. Selengkapnya: https://iam.jundi.hm

Lihat Juga Nih

Selanjutnya Nih

Kasih Komentar

Email kamu gak bakal ditampilin ke publik. Kalau ada tanda ini artinya wajib diisi ya *

Rekomendasi.

Lagi Viral.