Local development made easy

By Robbie | June 2, 2020


This tutorial will show you how to use expose.sh to give you a public HTTPs URL you can use to access local instances including docker containers, VMs and web servers

Install expose.sh

For Mac or Linux, go to Expose.sh and copy/paste the installation code shown into a terminal.

For Windows go to Expose.sh, download the binary and put it somewhere in your PATH.

Expose your local site to the web

Find out what port your local site is using. Once you know what that is, run expose <port>. Expose.sh will generate a random public expose.sh URL. You’ll see output like

https://s3rh.expose.sh is forwarding to localhost:80
http://s3rh.expose.sh is forwarding to localhost:80

The first URL is for HTTPs and the second is regular HTTP. We recommend using the first one wherever possible for security reasons.

Access your local service with the new public URL

Now type the URL you were given into your browser. You’ll now see your local site. You can even share it with co-workers and clients, it will work from any device that has a working internet connection.

Custom subdomains

Using a custom subdomain (like mysite.expose.sh) would save you from needing to enter in or reconfigure a different URL each time.

Expose.sh is free to use for randomly generated subdomains. If you want to use your own custom subdomains like “mysite.expose.sh”, you can do this for as little as $5/month depending on how many domains you want to use. Its usually a good time vs money investment, considering the hourly rate of most people who use expose.sh for work. Sign up here.


As you can see, using expose.sh can make your life a whole lot easier, so you can focus on building your app instead of networking!

Happy coding!

Get started here