Cara instal n8n di Docker (manual dan satu klik)
n8n adalah platform otomatisasi alur kerja open-source — alternatif Zapier/Make yang bisa Anda self-host. Cara paling umum dan stabil menjalankannya adalah dengan Docker. Panduan ini menunjukkan cara instal n8n di Docker dari nol (baik docker run maupun docker compose), lalu cara melakukan hal yang sama dalam satu klik dengan MyPanel.
Kenapa menjalankan n8n dengan Docker?
- Bersih dan terkurung — semuanya dalam satu kontainer, tak mengotori OS host.
- Mudah update — tarik image baru lalu restart.
- Data persisten — volume menjaga workflow dan kredensial melewati redeploy.
Prasyarat
- VPS Linux (Ubuntu 22.04+ atau Debian 12+).
- Docker terpasang. Jika belum:
curl -fsSL https://get.docker.com | sh. - (Disarankan) Sebuah domain yang mengarah ke IP server agar bisa mengaktifkan HTTPS.
Opsi 1 — Mulai cepat dengan docker run
Buat volume data dan jalankan kontainer n8n:
docker volume create n8n_data
docker run -d --name n8n \ -p 5678:5678 \ -v n8n_data:/home/node/.n8n \ docker.n8n.io/n8nio/n8nBuka http://IP-SERVER:5678 untuk membuat akun owner pertama. n8n menyimpan data (workflow, kredensial) di /home/node/.n8n — volume n8n_data — sehingga bertahan saat update.
Opsi 2 — Pakai docker compose (disarankan)
Buat docker-compose.yml:
services: n8n: image: docker.n8n.io/n8nio/n8n restart: always ports: - "5678:5678" environment: - N8N_HOST=n8n.example.com - N8N_PROTOCOL=https - N8N_PORT=5678 - WEBHOOK_URL=https://n8n.example.com/ - GENERIC_TIMEZONE=Asia/Ho_Chi_Minh - TZ=Asia/Ho_Chi_Minh volumes: - n8n_data:/home/node/.n8n
volumes: n8n_data:Jalankan: docker compose up -d. Untuk update nanti: docker compose pull && docker compose up -d.
Penting:
WEBHOOK_URLharus URL HTTPS asli Anda, jika tidak trigger webhook (Telegram, GitHub…) tak akan bekerja dengan benar.
Bagian sulit: reverse proxy + SSL
Kontainer di atas hanya melayani lalu lintas tanpa enkripsi di port 5678. Untuk memakainya lewat domain dengan HTTPS, Anda perlu reverse proxy (nginx/Caddy/Traefik) yang mengarah ke 127.0.0.1:5678 dan sertifikat SSL Let’s Encrypt (certbot). Dengan nginx Anda juga harus mengaktifkan WebSocket (n8n memakai WS untuk UI live):
location / { proxy_pass http://127.0.0.1:5678; proxy_set_header Upgrade $http_upgrade; proxy_set_header Connection "upgrade"; proxy_set_header Host $host;}Inilah langkah paling memakan waktu dan rawan salah: konfigurasi proxy, perpanjangan SSL, membuka port yang benar, menjaga WebSocket tetap hidup.
Kesalahan umum saat self-host n8n di Docker
- Lupa volume → update menghapus semua workflow.
WEBHOOK_URLsalah → webhook tak pernah menerima event.- WebSocket hilang di proxy → UI macet saat memuat.
- SSL kedaluwarsa → error keamanan; perlu cron perpanjangan certbot.
Cara lebih mudah: n8n satu klik dengan MyPanel
Jika Anda tak ingin mengelola proxy, SSL, dan volume sendiri, MyPanel menyediakan n8n di Marketplace-nya — instal satu klik:
- Buka Marketplace, pilih n8n, klik Install.
- Masukkan domain (sudah diarahkan ke server).
- Klik Install — MyPanel menarik image, menjalankannya dalam kontainer Docker terisolasi, mengonfigurasi reverse proxy + WebSocket, dan menerbitkan SSL Let’s Encrypt otomatis.
Setelah itu Anda mengelola n8n seperti situs lain: log, start/stop, SSL, backup. Data ada di volume persisten yang bertahan melewati redeploy. Lihat panduan Marketplace.
| Docker manual | MyPanel Marketplace | |
|---|---|---|
| Mulai kontainer | Ketik perintah | Satu klik |
| Reverse proxy | Konfigurasi sendiri | Otomatis |
| SSL | Jalankan certbot sendiri | Auto-terbit + perpanjang |
| WebSocket | Tambah manual | Bawaan |
| Backup & log | Sendiri | Langsung di panel |
Kesimpulan
Menjalankan n8n di Docker memberi Anda mesin otomatisasi self-host yang kuat. Melakukannya manual sangat mungkin, tetapi lapisan proxy + SSL + WebSocket adalah tempat pemula tersendat. Jika ingin n8n berjalan lewat HTTPS dalam hitungan menit:
👉 Pasang MyPanel gratis dengan satu perintah, buka Marketplace, dan instal n8n dalam satu klik — paket Free cukup untuk memulai.