Expose n8n to the Internet
Make your self-hosted n8n instance accessible for webhooks and external integrations.
Why Expose n8n?
n8n workflows triggered by webhooks need a public URL. Services like Stripe, GitHub, and Slack send events to a URL you control.
Without a tunnel, self-hosted n8n is unreachable from the internet — webhooks fail silently.
Setup
Start n8n locally — it defaults to port 5678.
Run the PanicTunnl SSH command with port 5678. You'll instantly get a public HTTPS URL.
Paste the public URL into your webhook trigger node in n8n. Events will flow through immediately.
Webhook Configuration
In your n8n workflow, add a Webhook node. Set the HTTP method to POST.
Copy the PanicTunnl public URL and append the Webhook path (e.g., https://abc123.free.panictunnl.dev/webhook/my-hook).
Test by sending a request from your external service. The n8n execution list will show the incoming payload.
ssh -p 2222 -R 0:localhost:5678 free@free.skytunnel.devPaste this into your terminal to start tunneling.
FAQ
No. n8n listens on 0.0.0.0 by default. The tunnel works out of the box.
The subdomain changes on each reconnect on the free tier. For persistent URLs, upgrade to a paid key.
Yes. If n8n is in Docker, forward the host port that maps to n8n's 5678.