Perspective Unspoken

My perspective on Git, Docker, Python, Django, PHP and other stuff

ngrok: An easy way to expose a local server

In development, the need often arises to employ a publicly accessible URL so an external service can see to your local server, or maybe you need to show a client something. In the older days many people would pull for tools like DynDNS or something similar to allow accessing of local services on a machine remotely. Thankfully now, there’s an easier way to get this done.

Hop on over to and download Ngrok for your platform. It’s a simple executable. It’s literally too easy to use. Also, it’s absolutely free.

Let’s see how we use ngrok in practice.

You’re running a website on localhost:8000 and you want to show a client somewhere across the globe…

Immediately, the ngrok makes a tunnel and provides a URL where all http traffic is forwarded to your instance.



Then, if that’s not enough, it provides an Admin Interface where you can view all the requests and responses. The admin is real time so you don’t have to refresh, all new requests update the UI accordingly.


As for tools like Docker where the Docker machine that has a different IP… again.. too easy. Just put the IP or name of the machine and the port.

And that does exactly what you’d expect. It forwards traffic from the ngrok URL directly to your VM hosted locally.

If you really like ngrok, you can pay for one of their plans which offer features like:

  • Custom subdomains
  • Reserved domains
  • Google Apps SSO
  • Support


jaywhy13 • May 15, 2016

Previous Post

Next Post