ngrok

All-in-one API gateway, Kubernetes Ingress, DDoS protection, firewall, and global load balancing as a service.

  • Cloud
  • Other
  • Productivity
  • Tools & Utilities
All-in-one API gateway, Kubernetes Ingress, DDoS protection, firewall, and global load balancing as a service.

Platform availability

Available on 1 of 6 install platforms

  • Unraid
  • TrueNAS (not listed)
  • Umbrel (not listed)
  • ZimaOS (not listed)
  • Proxmox (not listed)
  • Helm (not listed)

Also on Docker Hub

Health score

61/100 Good

Maintained
No data
Popular
No data
Easy to install
351 install platform, install notes, Docker image
Light to run
95512 MB minimum RAM, runs on ARM

Based on 2 of 4 factors.

How is this calculated?

A 0-100 score computed nightly from four factors: maintained (40%: recent commits and steady activity), popular (25%: GitHub stars, log scale), easy to install (20%: platforms, install notes, setup guides, Docker image) and light to run (15%: minimum RAM, ARM support). Factors without data are left out and the rest are rescaled.

Availability: platform listings confirmed today, links checked 11 days ago

No GitHub repository data collected yet.

Resources & Compatibility

Minimum requirements: 512 MB RAM. ARM (e.g. Raspberry Pi) is supported.

Checked 10 days ago - source: Docker Hub image tags and published docs

First-install notes

  • Set your ngrok token before starting Before starting the tunnel, put your ngrok authtoken into an environment variable (a hidden setting your program can read) or directly in the code. Without it, ngrok will not open the public tunnel for your app. source
  • Tell ngrok the local port your app uses In the code where you start the tunnel, set addr to the local port (the number your app waits for on your computer), for example 8080 or 3000. If it points to the wrong port, the tunnel can start but visitors get an error because the app is not listening there. source
  • Use the printed ngrok URL to share it After the tunnel starts, copy the public https ngrok.app address shown in the output. That temporary link is how people on the internet can reach the app running on your machine. source

Fetched 10 days ago - each note links to its source

Alternatives (12)

  • Fossorial Pangolin - Open-source identity-based remote access platform using WireGuard, offering unified management, tunneled connections, granular access contr…
  • Headscale - Headscale is an open-source, self-hosted implementation of the Tailscale control server.
  • NetBird - NetBird is an open-source Zero Trust networking platform that makes it easy for engineers to create fast, secure, and private networks with…
  • Rayfish - A peer-to-peer mesh VPN with zero infrastructure.
  • Serveo - Expose local servers to the internet via SSH tunneling.
  • Tailscale - Private networks made easy.
  • ZeroTier - Zerotier is an open source, cross-platform virtual LAN / VPN
  • app-store-webhook-proxy - **App Store Webhook Proxy** **Your webhook endpoint will be available at: `/appstore-webhook`** Get real-time notifications for your app’s…
  • cloudflare-tunnel
  • connect tunnel - Connect Tunnel is the customer-run agent that powers OpenAI's Secure MCP Tunnel.
  • localtonet - Localtonet is a reverse-proxy tunneling service that securely exposes local HTTP, TCP, and UDP services on your network to a temporary publ…
  • localtunnel - Expose your localhost to the world for easy testing and sharing

Checked 7 days ago - source: AlternativeTo

Common questions

Do I need to configure a token before ngrok opens a tunnel?

Yes. Set the ngrok authtoken in an environment variable or directly in the code before starting the tunnel. Without it, ngrok will not open the public tunnel.

Why can a tunnel start successfully but still give visitors an error?

This can happen if the tunnel addr points to the wrong local port. Set it to the port your app actually listens on, such as 8080 or 3000.

Is the ngrok URL that is printed after startup persistent?

No. The public https ngrok.app address shown after the tunnel starts is described as a temporary link for people on the internet to reach the app on your machine.

Can one ngrok account open multiple tunnels at once?

A self-hosted user reported that ngrok only allows a single tunnel per user account.

Answers sourced from github.com, github.com, www.reddit.com

Community

Collected 10 days ago - public community threads