Cara Menjalankan N8n Dengan Docker (self-hosted)

Jan 28, 2026 05:12 PM - 3 bulan yang lalu 95937

Jan 28, 2026

Faradilla A.

7menit Dibaca

Cara menjalankan n8n dengan Docker (self-hosted)

Menjalankan n8n dengan Docker adalah salah satu langkah paling praktis untuk menghosting tool automasi workflow ini. Jadi, dengan Docker, Anda nantinya bukan menginstal n8n langsung di VPS, melainkan di container terpisah yang tidak mengganggu sistem utama.

Dengan begitu, Anda bisa mengupgrade alias mendowngrade jenis n8n dengan mudah, menyesuaikan kapasitasnya sesuai kebutuhan alur kerja Anda, apalagi memindahkan instalannya ke server lain tanpa ribet.

Di tulisan ini, Anda bakal mempelajari langkah menjalankan n8n dengan Docker dan Docker Compose. Kedua tool ini memudahkan Anda mengatur jasa n8n, environment variable, dan jasa pendukung seperti database, cukup dengan satu file YAML.

Langsung saja, simak langkah-langkah selengkapnya di bawah ini untuk menginstal, mengonfigurasi, mengamankan, dan mengupdate instance n8n Anda dengan Docker.

Cara menjalankan n8n dengan Docker

Untuk menjalankan n8n secara self-hosted menggunakan Docker, Anda perlu menginstal Docker dan Docker Compose di VPS. Setelah itu, buat file Docker Compose untuk mengonfigurasi jasa n8n Anda. Selanjutnya, Anda bisa langsung menjalankan container n8n dengan perintah docker compose up -d.

Setelah instance n8n Anda berjalan, Anda juga bisa mengamankannya dengan SSL dan reverse proxy, menyesuaikan environment variable sesuai kebutuhan, serta mengupdate n8n saat ada jenis terbaru yang dirilis.

Kami bakal menjelaskan langkah-langkahnya secara lebih mendetail di bawah ini.

1. Instal Docker dan Docker Compose

Pertama, pastikan Docker sudah terinstal di server Anda. Sejak Docker jenis 20.10.0, Docker Compose sudah disertakan secara default sebagai plugin, jadi Anda tidak perlu lagi menginstalnya secara terpisah.

Apabila menggunakan jasa VPS Docker dari Hostinger, Anda tidak perlu repot-repot melakukan langkah ini lantaran Docker sudah langsung terinstal di server Anda.

Tenang, meskipun menggunakan paket VPS Hostinger biasa, Anda tetap bisa menginstal Docker menggunakan template siap pakai maupun secara manual melalui terminal.

Nah, jika Anda memilih menginstalnya secara manual, jalankan perintah Linux berikut di terminal untuk memastikan Docker sudah terinstal:

docker -v

Perintah ini bakal menampilkan jenis Docker yang aktif, contohnya seperti ini:

Output terminal menunjukkan jenis Docker yang terinstal.

2. Siapkan direktori informasi n8n

Selanjutnya, buat direktori unik untuk menyimpan informasi dan file konfigurasi n8n. Jalankan perintah berikut ini di terminal untuk membikin direktori utama n8n dan mengaksesnya:

mkdir ~/n8n && cd ~/n8n

Setelah masuk ke direktori tersebut, buat subfolder berjulukan n8n_data untuk menyimpan informasi persisten n8n:

mkdir n8n_data

Atur kewenangan kepemilikan direktori tersebut agar Docker bisa mengaksesnya dengan benar:

sudo chown -R 1000:1000 n8n_data
Output terminal setelah menjalankan perintah mkdir dan chown

3. Buat file Docker Compose untuk n8n

Setelah direktori siap, sekarang saatnya membikin file Docker Compose yang bakal digunakan untuk mengonfigurasi jasa n8n, environment variable, dan volume penyimpanan.

Gunakan editor teks nano untuk membikin file:

sudo nano docker-compose.yml

Tempel konfigurasi berikut, dan jangan lupa untuk mengganti yourUser serta yourPassword dengan username dan password yang Anda inginkan:

services: n8n: image: n8nio/n8n ports: - "5678:5678" environment: - N8N_BASIC_AUTH_ACTIVE=true - N8N_BASIC_AUTH_USER=yourUser - N8N_BASIC_AUTH_PASSWORD=yourPassword volumes: - ./n8n_data:/home/node/.n8n
Isi file docker-compose.yml

Setelah selesai, simpan dan keluar dari nano dengan menekan Ctrl + X, lampau Y, kemudian Enter.

4. Jalankan container n8n

Sekarang jalankan container n8n dengan perintah berikut:

docker compose up -d

Anda bakal memandang proses inisialisasi kontainer. Kalau berhasil, bakal muncul pesan seperti Created dan Started, seperti pada screenshot di bawah ini:

Output terminal menunjukkan proses pembuatan kontainer Docker yang berhasil.

Untuk memastikan container n8n sudah berjalan, buka alamat berikut di browser Anda (ganti your_vps_ip dengan IP VPS Anda sendiri):

http://your_vps_ip:5678

Apabila menggunakan VPS Hostinger, Anda bisa memandang IP server di hPanel melalui menu VPSKelolaRingkasanDetail VPS.

Ikhtisar Hostinger hPanel VPS dengan sorotan pada IPv4

Kalau muncul pesan error mengenai “secure cookie” saat membuka alamat tersebut, tidak perlu panik. Pesan ini menandakan n8n sudah berjalan, tapi hubungan belum diamankan dengan SSL. Tenang, kita bakal mempelajari solusi mengatasinya kelak di bagian berikutnya.

Peringatan kesalahan keamanan n8n

5. Amankan n8n dengan SSL dan NGINX reverse proxy

Untuk mengakses instance n8n Anda dengan kondusif melalui HTTPS, Anda perlu mengaktifkan sertifikat SSL dan mengatur reverse proxy menggunakan NGINX.

Pertama, instal web server NGINX di VPS Anda:

sudo apt install nginx -y

Setelah itu, hentikan sementara jasa NGINX:

sudo systemctl stop nginx

Lanjutkan dengan menginstal Certbot, tool yang digunakan untuk mendapatkan sertifikat SSL:

sudo apt install certbot -y

Kemudian, jalankan perintah berikut untuk meminta sertifikat SSL dari Certbot. Ganti yourdomain.tld dengan nama domain Anda yang sudah diarahkan ke VPS. Kalau belum mempunyai domain, Anda bisa menggunakan hostname VPS Anda:

sudo certbot certonly --standalone -d yourdomain.tld

Selama proses ini, Anda bakal diminta mengisi alamat email yang valid, menyetujui syarat layanan, dan memilih apakah mau menerima email promosi alias tidak.

Kalau sudah selesai, jalankan kembali jasa NGINX:

sudo systemctl start nginx

Selanjutnya, buat file konfigurasi baru untuk mengatur reverse proxy dengan NGINX:

sudo nano /etc/nginx/sites-available/n8n

Kemudian, tempelkan konfigurasi berikut ke dalam file tersebut. Jangan lupa tukar yourdomain.tld dengan domain alias hostname milik Anda:

server { listen 443 ssl; server_name yourdomain.tld; ssl_certificate /etc/letsencrypt/live/yourdomain.tld/fullchain.pem; ssl_certificate_key /etc/letsencrypt/live/yourdomain.tld/privkey.pem; location / { proxy_pass http://localhost:5678; proxy_set_header Host $host; proxy_set_header X-Real-IP $remote_addr; proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for; proxy_set_header X-Forwarded-Proto $scheme; } } server { listen 80; server_name yourdomain.tld; return 301 https://$host$request_uri; }
File konfigurasi NGINX untuk konten n8n

Setelah selesai, simpan dan keluar dari editor, lampau jalankan perintah berikut untuk mengaktifkan konfigurasi tersebut:

sudo ln -sf /etc/nginx/sites-available/n8n /etc/nginx/sites-enabled/n8n

Cek apakah konfigurasi NGINX Anda valid:

sudo nginx -t

Kalau tidak ada error, muat ulang jasa NGINX agar perubahan diterapkan:

sudo systemctl reload nginx

6. Akses instance n8n Anda

Sekarang, coba akses instance n8n Anda melalui domain alias hostname yang sudah Anda konfigurasikan. Apabila semuanya melangkah lancar, Anda bakal diarahkan ke laman pendaftaran akun pemilik n8n. Di sini, Anda bisa mendaftar akun menggunakan kredensial pilihan Anda.

Halaman pendaftaran akun pemilik n8n

Setelah itu, Anda bakal masuk ke dashboard n8n untuk mulai membikin workflow automasi. Apabila memerlukan inspirasi, simak tulisan kami tentang contoh workflow n8n yang bakal memandu Anda membikin workflow dengan mudah.

Kalau mau workflow siap pakai, tersedia juga template n8n yang bisa langsung Anda terapkan untuk beragam skenario.

Jangan lupa untuk mengeksplorasi beragam integrasi n8n untuk memandang jasa apa saja yang bisa Anda hubungkan, tool yang tersedia, dan buahpikiran penggunaannya dalam workflow Anda.

7. Ubah environment variable n8n

Saat mengelola instance n8n, terkadang Anda mungkin perlu mengubah environment variable untuk mengatur hubungan database, mengaktifkan autentikasi, integrasi pihak ketiga, alias meningkatkan keamanan.

Untuk melakukannya, buka kembali file Docker Compose Anda:

sudo nano docker-compose.yml

Di bagian environment, Anda bisa menambahkan alias mengubah konfigurasi container n8n Anda sesuai kebutuhan. Berikut beberapa environment variable yang umum digunakan:

  • N8N_ENCRYPTION_KEY – mengenkripsi kredensial dalam database untuk keamanan tambahan.
- N8N_ENCRYPTION_KEY=yourStrongRandomString
  • N8N_HOST, N8N_PORT, N8N_PROTOCOL – memastikan n8n menghasilkan URL yang benar, terutama melalui reverse proxy alias saat menggunakan SSL.
- N8N_HOST=yourdomain.tld - N8N_PORT=5678 - N8N_PROTOCOL=https
  • WEBHOOK_URL – mengatur URL publik untuk webhook, yang merupakan variabel krusial jika Anda menggunakan HTTPS alias domain khusus.
- WEBHOOK_URL=https://youdomain.tld
  • DB_TYPE, DB_POSTGRESDB – memungkinkan Anda menggunakan PostgreSQL sebagai pengganti SQLite default untuk performa dan skalabilitas yang lebih baik.
- DB_TYPE=postgresdb - DB_POSTGRESDB_HOST=your_postgres_host - DB_POSTGRESDB_PORT=5432 - DB_POSTGRESDB_DATABASE=your_database_name - DB_POSTGRESDB_USER=your_db_user - DB_POSTGRESDB_PASSWORD=your_db_password
  • TZ – mengatur area waktu untuk n8n.
- TZ=UTC

Simpan file setelah Anda melakukan perubahan yang diperlukan.

Selanjutnya, jalankan perintah Docker berikut untuk menghentikan container n8n:

docker compose down

Jalankan kembali container dengan environment variable yang sudah diperbarui:

docker compose up -d
Output terminal menunjukkan proses pembuatan ulang kontainer n8n setelah mengubah variabel lingkungan.

💡 Tips berguna

Apabila Anda hanya mau memulai ulang container Docker n8n tanpa memodifikasi file Compose, gunakan perintah docker compose restart.

8. Update n8n ke jenis terbaru

Untuk menjaga keamanan dan mendapatkan fitur-fitur terbaru, sebaiknya Anda rutin mengupdate n8n ke jenis terbaru.

Untuk melakukan update, download image n8n terbaru dari Docker Hub:

docker pull n8nio/n8n

Setelah itu, mulai ulang container n8n menggunakan image yang baru saja didownload:

docker compose up -d
Output terminal menunjukkan proses pembaruan kontainer n8n.

Tips efektif mengelola n8n dengan Docker

Berikut beberapa praktik terbaik yang bisa Anda terapkan saat menjalankan n8n di Docker, yang sebagiannya sudah dibahas di tutorial ini:

  • Gunakan volume Docker. Pasang direktori host seperti ./n8n_data:/home/node/.n8n untuk menyimpan workflow, kredensial, dan informasi eksekusi di luar container. Cara ini memastikan informasi Anda tetap kondusif meski container diperbarui, direstart, alias dibangun ulang.
  • Atur environment variable. Dalam file docker-compose.yml, simpan API key, secret webhook, kredensial database, dan informasi sensitif lainnya sebagai environment variable. Dengan begitu, info sensitif tidak langsung disimpan dalam workflow alias kode Anda, serta memudahkan rotasi kunci.
  • Amankan akses Anda. Selalu aktifkan autentikasi dasar (N8N_BASIC_AUTH_ACTIVE=true) dan gunakan username serta password yang kuat. Untuk komunikasi yang terenkripsi, jalankan n8n melalui reverse proxy seperti NGINX dengan SSL agar semua data, termasuk kredensial, tidak dikirim dalam corak teks biasa.
  • Lakukan backup rutin. Lakukan backup secara berkala pada berkas host yang terhubung ke /home/node/.n8n, bukan dari dalam container. Anda bisa menjalankan perintah berikut:
docker cp n8n:/home/node/.n8n /path/to/backup/folder
  • Atur batas resource. Di file docker-compose.yml, tetapkan pemisah penggunaan CPU dan RAM agar n8n tidak membebani VPS Anda. Contohnya:
deploy: resources: limits: cpus: '1' memory: 1G
  • Pantau log dan performa. Jalankan perintah docker compose logs n8n untuk meninjau log dan mengatasi masalah. Untuk pemantauan berkelanjutan, pertimbangkan untuk mengintegrasikannya dengan sistem seperti LGTM stack guna menerima peringatan andaikan n8n sedang down alias mengalami masalah.

Kenapa kudu menggunakan self-hosting untuk n8n dan Docker?

Menjalankan n8n dengan Docker membikin proses self-hosting menjadi jauh lebih mudah dan fleksibel. Docker menyediakan lingkungan yang portabel dan konsisten di beragam sistem sehingga n8n bisa dijalankan di mana saja. Namun, agar workflow melangkah lancar, Anda memerlukan VPS.

Berbeda dengan menjalankannya di komputer sendiri, VPS memungkinkan workflow Anda tetap aktif meskipun komputer Anda meninggal alias tidak terhubung ke internet. Anda juga bisa mengakses dan mengelola n8n dari mana pun, tanpa batas jaringan lokal.

Oleh lantaran itu, kami menyarankan Anda menggunakan VPS Docker dari Hostinger untuk self-hosting aplikasi berbasis container seperti n8n. Docker dan semua keterbatasan krusial sudah terinstal sejak awal sehingga Anda bisa langsung menjalankan n8n tanpa repot melakukan konfigurasi tambahan.

Kami juga mempunyai pusat informasi di beragam daerah di seluruh dunia, jadi Anda bisa memilih server yang paling dekat dengan letak Anda untuk mengurangi latensi. Dengan agunan uptime 99,9% dari Hostinger, workflow automasi Anda bakal tetap online dan stabil sepanjang waktu.

Dengan biaya mulai dari Rp77900.00/bulan, Anda sudah mendapatkan paket VPS Docker dengan spesifikasi hingga 8 core vCPU, 32 GB RAM, dan 400 GB penyimpanan NVMe. Anda bisa menggunakan paket mini dulu, lampau mengupgradenya dengan mudah seiring meningkatnya kebutuhan Anda.

Tentu saja, keamanan adalah prioritas utama kami. Paket VPS Docker dari Hostinger sudah dilengkapi dengan backup otomatis, perlindungan DDoS tingkat lanjut, dan malware scanner untuk menjaga informasi Anda tetap aman, menghalau serangan, dan mencegah gangguan terhadap instance n8n Anda.

Setelah menyiapkan n8n-Docker di VPS, apa selanjutnya?

Dengan menjalankan n8n secara self-hosted menggunakan Docker, Anda bisa mengontrol proses automasi workflow Anda secara lebih leluasa. Dengan langkah ini, Anda bisa menjalankan n8n dan menyesuaikannya dengan kebutuhan Anda secara lebih aman.

Nah, setelah sukses menjalankan n8n, berikut beberapa perihal yang bisa Anda lakukan selanjutnya:

  • Eksplorasi buahpikiran automasi lainnya. Cari tahu tugas apa saja yang bisa diotomatiskan dengan n8n untuk mendapatkan inspirasi dan menyederhanakan beragam tugas berulang.
  • Atur konfigurasi n8n Anda sesuai kebutuhan. Gunakan Docker Stack untuk menjalankan n8n di beberapa server sekaligus dan mengelola jasa secara efisien lewat cluster Swarm.
  • Tingkatkan keamanan server. Terapkan langkah-langkah untuk mengamankan VPS, seperti mengubah port SSH, menonaktifkan login root, dan menyiapkan firewall, untuk menjaga instance n8n Anda tetap aman.
  • Integrasikan n8n dengan MCP. Hubungkan workflow Anda dengan AI agent dan aktifkan automasi yang memahami konteks melalui integrasi dengan Model Context Protocol (MCP).

Apabila Anda tetap mempunyai pertanyaan tentang menjalankan alias mengelola n8n dengan Docker, jangan ragu untuk menyampaikannya lewat kolom komentar di bawah ini, ya. Semoga berhasil!

Semua konten tutorial di website ini telah melalui peninjauan menyeluruh sesuai standar dan komitmen editorial Hostinger.

Author

Penulis

Faradilla Ayunindya

Faradilla, yang lebih berkawan disapa Ninda, sudah berilmu selama 10 tahun sebagai linguist dan 5 tahun sebagai Content Marketing Specialist di Hostinger. Ia suka mengikuti tren teknologi, digital marketing, dan belajar bahasa. Melalui tutorial Hostinger ini, Ninda mau berbagi info dan membantu pembaca mengatasi masalah yang dialami. Kenali Ninda lebih dekat di LinkedIn.

Selengkapnya