Kembali ke Blog

Tutorial n8n #1: Instalasi dan Workflow Sapaan Pertama

Panduan pertama seri n8n untuk menjalankan n8n self-hosted dengan Docker Compose, membuka editor, lalu membuat workflow paling sederhana berisi Manual Trigger dan field greeting.

•
Frendi Triarista
Tutorial n8n #1: Instalasi dan Workflow Sapaan Pertama

Tutorial n8n #1: Instalasi dan Workflow Sapaan Pertama

n8n adalah tool workflow automation yang membantu kita menghubungkan langkah kerja, data, dan aplikasi dalam bentuk node. Bagi saya, cara terbaik memulai n8n bukan langsung membuat automation yang panjang, tetapi mulai dari workflow kecil yang bisa dilihat hasilnya dengan jelas.

Di tutorial pertama ini, kita akan menjalankan n8n secara self-hosted menggunakan Docker Compose, lalu membuat workflow sapaan sederhana. Workflow ini hanya berisi dua node: Manual Trigger dan Edit Fields atau Set. Hasil akhirnya adalah satu item data dengan field greeting bernilai Halo dari n8n.

Pendekatan kecil seperti ini penting untuk Business Process Optimization. Sebelum bicara API, condition, approval, error handling, storage, dan observability, kita perlu paham dulu konsep dasar: apa yang memulai workflow, bagaimana data lewat antar node, bagaimana node dihubungkan, dan bagaimana hasil eksekusi dibaca.

Prasyarat

Sebelum mulai, pastikan sudah tersedia:

  • Docker Engine dan Docker Compose di komputer atau VPS percobaan.
  • Terminal dasar.
  • Browser untuk membuka editor n8n.
  • Tidak perlu credential eksternal untuk tutorial ini.

Catatan keamanan sebelum instalasi

Dari dokumentasi n8n, Docker direkomendasikan untuk kebutuhan self-hosting karena memberi lingkungan yang lebih terisolasi dan membantu mengurangi masalah perbedaan sistem operasi atau tooling. Halaman dokumentasi Docker n8n juga mengarahkan pengguna ke pendekatan Docker Compose sebagai metode instalasi yang direkomendasikan.

Rekomendasi saya untuk tutorial pertama: jalankan n8n hanya untuk lokal atau VPS percobaan, bukan langsung dianggap production-ready. Untuk produksi, masih perlu membahas HTTPS, authentication yang benar, backup, secret management, monitoring, update strategy, dan pembatasan akses jaringan.

1. Buat folder project n8n

Buka terminal, lalu buat folder baru:

mkdir n8n-tutorial
cd n8n-tutorial

Folder ini akan menyimpan file docker-compose.yml untuk menjalankan n8n.

2. Buat file Docker Compose

Buat file bernama docker-compose.yml:

services:
  n8n:
    image: docker.n8n.io/n8nio/n8n:stable
    restart: unless-stopped
    ports:
      - '127.0.0.1:5678:5678'
    environment:
      - TZ=Asia/Jakarta
      - GENERIC_TIMEZONE=Asia/Jakarta
      - N8N_ENFORCE_SETTINGS_FILE_PERMISSIONS=true
      - N8N_RUNNERS_ENABLED=true
    volumes:
      - n8n_data:/home/node/.n8n

volumes:
  n8n_data:

Beberapa hal penting dari konfigurasi ini:

  • image menggunakan image n8n stable.
  • ports memakai 127.0.0.1:5678:5678, sehingga n8n hanya terbuka dari mesin lokal.
  • TZ dan GENERIC_TIMEZONE diset ke Asia/Jakarta agar waktu eksekusi lebih mudah dipahami.
  • volumes menyimpan data n8n di volume Docker bernama n8n_data, sehingga data tidak langsung hilang saat container di-restart.

Jika dijalankan di VPS percobaan, saya tetap menyarankan akses melalui SSH tunnel terlebih dahulu, bukan membuka port n8n langsung ke internet.

Contoh SSH tunnel dari komputer lokal ke VPS:

ssh -L 5678:localhost:5678 user@alamat-vps

Ganti user@alamat-vps sesuai akses VPS Anda. Jangan menaruh password nyata di file tutorial atau repository.

3. Jalankan n8n

Dari folder yang sama, jalankan:

docker compose up -d

Cek apakah container berjalan:

docker compose ps

Jika perlu melihat log:

docker compose logs -f n8n

4. Buka editor n8n

Buka browser, lalu akses:

http://localhost:5678

Jika ini pertama kali membuka n8n, Anda mungkin diminta membuat akun owner. Gunakan data milik Anda sendiri. Jangan memakai credential contoh dari artikel, forum, atau repository publik.

Setelah masuk, Anda akan melihat area editor n8n untuk membuat workflow.

5. Buat workflow baru

Di n8n, buat workflow baru. Nama workflow bebas, misalnya:

Sapaan Pertama

Workflow ini akan kita buat sesederhana mungkin agar fokusnya jelas: trigger, data, koneksi node, dan hasil.

6. Tambahkan Manual Trigger sebagai node pertama

Tambahkan node pertama:

  1. Klik tombol untuk menambahkan node pertama.
  2. Cari Manual Trigger.
  3. Pilih Manual Trigger.

Manual Trigger dipakai untuk menjalankan workflow secara manual dari editor. Ini cocok untuk belajar karena kita bisa menguji workflow kapan saja tanpa menunggu jadwal atau event dari aplikasi lain.

7. Tambahkan Edit Fields atau Set sebagai node kedua

Setelah Manual Trigger dibuat, tambahkan node kedua:

  1. Klik konektor dari node Manual Trigger.
  2. Cari Edit Fields atau Set, tergantung tampilan versi n8n yang Anda gunakan.
  3. Tambahkan field baru:
    • Nama field: greeting
    • Nilai field: Halo dari n8n

Tujuan node ini adalah membuat data baru yang bisa kita lihat sebagai hasil workflow.

8. Hubungkan kedua node

Pastikan node tersusun seperti ini:

Manual Trigger -> Edit Fields atau Set

Koneksi ini berarti setelah workflow dimulai secara manual, data akan diteruskan ke node berikutnya untuk ditambahkan field greeting.

9. Jalankan workflow secara manual

Klik tombol Execute Workflow atau tombol eksekusi manual yang tersedia di editor n8n.

Jika berhasil, node kedua akan menghasilkan satu item data. Bentuk hasilnya kurang lebih seperti ini:

[
  {
    "greeting": "Halo dari n8n"
  }
]

Itulah workflow pertama kita. Sederhana, tetapi sudah menunjukkan pola dasar n8n: workflow dimulai oleh trigger, diproses oleh node, lalu menghasilkan data.

Expected result

Hasil yang diharapkan:

  • Workflow bisa dijalankan manual.
  • Node Manual Trigger berhasil dieksekusi.
  • Node Edit Fields atau Set menghasilkan satu item data.
  • Item data memiliki field greeting.
  • Nilai greeting adalah Halo dari n8n.

Checklist troubleshooting sederhana

Jika ada masalah, cek daftar berikut:

  • Apakah Docker sudah berjalan?
  • Apakah perintah docker compose up -d dijalankan dari folder yang berisi docker-compose.yml?
  • Apakah port 5678 sudah dipakai aplikasi lain?
  • Apakah browser membuka http://localhost:5678, bukan domain lain?
  • Jika memakai VPS, apakah SSH tunnel masih aktif?
  • Apakah container n8n berjalan saat dicek dengan docker compose ps?
  • Apakah log n8n menampilkan error saat dicek dengan docker compose logs -f n8n?
  • Apakah node Manual Trigger sudah terhubung ke node Edit Fields atau Set?
  • Apakah nama field benar-benar greeting?

Penutup

Tutorial pertama ini sengaja kecil. Kita belum menyentuh API, credential eksternal, condition, approval, penyimpanan data, atau error handling. Itu akan lebih mudah dipahami setelah fondasinya jelas.

Di tutorial berikutnya, kita akan menambah satu konsep baru secara bertahap. Tujuannya bukan membuat workflow kompleks secepat mungkin, tetapi membangun pemahaman yang rapi agar automation bisa dipakai untuk optimasi proses bisnis secara praktis.

Referensi

  1. Install with Docker, n8n Docs, https://docs.n8n.io/hosting/installation/docker/. Tanggal publikasi/update sumber: tidak terverifikasi dari halaman yang diakses pada eksekusi ini.
  2. Build your first workflow, n8n Docs, https://docs.n8n.io/try-it-out/. Tanggal publikasi/update sumber: tidak terverifikasi dari halaman yang diakses pada eksekusi ini.