How To Setup Your Local N8N To Public Url With Ngrok | Setup with Docker + Ngrok

Sumber gambar: Medium.com

N8n adalah alat otomatisasi alur kerja open-source yang kuat, memungkinkan Anda membuat integrasi dan otomatisasi yang kompleks. Saat menjalankan N8n secara lokal melalui Docker, aksesnya biasanya terbatas pada localhost, yang berarti hanya perangkat Anda yang dapat menjalankan atau memicu alur kerja. Batasan ini mencegah integrasi dengan layanan eksternal seperti Telegram, Gmail, Stripe, atau Google, yang sering kali memerlukan URL webhook publik. Dalam panduan ini, saya akan memandu Anda langkah demi langkah untuk membuat instance N8n lokal Anda dapat diakses secara publik menggunakan Ngrok dan Docker—sepenuhnya gratis, tanpa perlu domain, vps atau server cloud.

Pastikan anda telah memiliki pengaturan dasar N8n yang berjalan di Docker. Pada akhirnya, Anda akan memiliki instance N8n yang aman dan siap untuk pakai, dapat diakses melalui URL HTTPS publik.

Cara Install n8n melalui docker: cara-menjalankan-n8n-di-localhost

Cara Install Ngrok: Cara Download Ngrok


Apa Itu Ngrok?

Ngrok adalah layanan tunneling yang memungkinkan server lokal Anda diakses dari mana saja di internet secara aman. Berikut adalah manfaat utama Ngrok:

See Also :

  1. Domain Publik Gratis: Ngrok memberikan URL publik (misalnya, https://abc123.ngrok.io).
  2. Tunnel Aman: Membuat terowongan aman dari mesin lokal Anda ke web.
  3. HTTPS Otomatis: Mengaktifkan HTTPS, yang diperlukan oleh sebagian besar API seperti Telegram, Stripe, atau Google.
  4. Tanpa Server Cloud: Anda dapat membangun dan menguji alur kerja tingkat produksi langsung dari laptop Anda.


Mengapa Membuat N8n Publik?

Saat N8n berjalan di localhost, Anda hanya dapat mengakses alur kerja dari perangkat lokal. Ini menjadi masalah ketika Anda ingin:

  • Berbagi alur kerja dengan perangkat lain.
  • Memicu alur kerja dari jarak jauh.
  • Mengintegrasikan N8n dengan layanan seperti Telegram, Whatasapp, Stripe, atau Google, yang memerlukan URL webhook publik dengan domain HTTPS yang valid.
  • Layanan cloud seperti N8n Cloud menyediakan subdomain secara otomatis, tetapi ini memerlukan biaya. Membeli domain dan mengatur DNS juga bisa rumit dan mahal untuk pemula. Di sinilah Ngrok membantu, alat ini memberikan domain HTTPS publik gratis yang menjembatani server lokal (Http) Anda  ke internet.

Prasyarat

Sebelum memulai, pastikan Anda memiliki:

  • Docker terinstal di komputer Anda.

  • N8n yang sudah berjalan di Docker.

  • Akun Ngrok gratis (daftar di ngrok.com).



1. Perbarui Kontainer N8n di Docker


Untuk membuat N8n dapat diakses melalui Ngrok, kita perlu memperbarui pengaturan kontainer Docker.

Buka Docker Desktop, temukan kontainer N8n Anda, hentikan.

Luncurkan Kontainer Baru :



Klik tombol Run ▶️ pada image n8nio/n8n di tab Images.

Akan muncul sebuah jendela Optional Settings

Gunakan Nama Kontainer Baru: Berikan nama unik untuk membedakannya dari kontainer lain (misalnya, n8n-new-ngrok).

Ganti Port: Secara default, N8n menggunakan port 5678. Anda dapat mengubahnya jika (misalnya, 6666).

Gunakan Volume Untuk Menyimpan Data: Buat folder data N8n untuk menyimpan alur kerja mu (misalnya,n8n_data). Secara default, folder ini berada di /home/node/.n8n



Tambahkan Environment variables:

N8N_COMMUNITY_PACKAGES_ALL_TOOL_USAGE : true


N8N_EDITOR_BASE_URL: Tetapkan ke domain Ngrok Anda (misalnya, https://deep-lark-fitting.ngrok-free.app). Ini adalah URL publik untuk antarmuka editor N8n.


Untuk mengetahui nama domain ngrok anda bisa pergi ke situs resmi ngrok.com dan dapatkan nama domain mu di tab Setup & Installation. Ingat untuk menambahkan https:// sebelum nama domain anda.


WEBHOOK_URL: Isi sama seperti di kolom N8N_EDITOR_BASE_URL. URL ini digunakan oleh layanan eksternal untuk mengirim data API ke N8n.


N8N_DEFAULT_BINARY_DATA_MODE: Ketikan filesystem sebagai value nya . Ini memastikan file besar (seperti PDF atau gambar) disimpan di disk, bukan di memori, untuk meningkatkan performa.

Jika semua data sudah di isi selanjutnya jalankan dengan menekan tombol Run. Tunggu sampai loading nya selesai, dan memberikan url (misalnya: https://deep-lark-fitting.ngrok-free.app/).


 Verifikasi Data


Setelah kontainer berjalan, buka browser dan akses link nya, maka akan muncul seperti gambar di atas.
Itu terjadi karena kita belum menghubungkan ngrok ke url nya, di step selanjutnya kita akan melakukan
Autentikasi ngrok.




2. Tambahkan Token Autentikasi Ngrok:

  • Buka dasbor Ngrok Anda di dashboard.ngrok.com.
  • Buka Authtoken Anda di bagian Setup & Installation.
  • Salin authtoken yang diberikan.
  • Jalankan perintah berikut di command prompt:
  • Tempelkan perintah yang Anda salin ke command promt.

jika sudah  langkah selanjutnya menambahkan url static domain ke command promt.


Salin Static domain yang di berikan lalu tempelkan ke command promt, Arakan ke port milik kita,
(Contoh: ngrok http --url=deep-lark-fitting.ngrok-free.app 80 Menjadi ngrok http --url=deep-lark-fitting.ngrok-free.app 6666/Nama port yang kamu berikan)


Buka URL Ngrok di browser. Anda akan melihat antarmuka N8n, sekarang dapat diakses dari mana saja.


Kesimpulan

Dengan URL Ngrok Anda aktif, Anda dapat mengatur webhook untuk layanan seperti Telegram, Whatsapp, Stripe, atau Google. Webhook memungkinkan layanan ini mengirim pemberitahuan ke N8n secara real-time (misalnya, saat pesan Telegram diterima atau pembayaran Stripe selesai). Di alur kerja N8n Anda, gunakan node webhook dan atur URL-nya ke domain Ngrok Anda.


Referensi : - https://youtu.be/RvAD2__YYjg?si=Mes6oWL2ZzIUvHfC
                   -https://youtu.be/HxJAgWIKTDE?si=hgg2S7fk0uA8u8y-