Hi there!
So, there are multiple solutions possible here, depending on what you need. I will include below the one that I think is most rational for a quick demo that you want to run on your machine and share with others, rather than something that is expected to be up all the time.
There is this command line utility called ngrok, which generates a URL pointing to a service running on a localhost port on your machine. You would have to start the notebook like this:
Pluto.run(;host="127.0.0.1",port=9999)
The port can be set to anything, I’m just using 9999 arbitrarily. Host has to be pointing to 127.0.0.1, because that’s localhost. Then you would run ngrok like this in your shell:
ngrok http 9999
That will generate a url that looks like a bunch of letters and numbers then ngrok.io. To the end of that ngrok url, you want to append a secret that appears at the end of the Pluto notebook link that shows up after you spin up a Pluto service, it looks something like this “/?secret=k9j9YWvT”.
As long as the Pluto notebook and ngrok are both running, you should be able to share that ngrok link with anyone, and they should be able to access your Pluto notebook. Definitely don’t share this link on any public forum, as those who have it will be able to execute any code on your machine. Only give it to those whom you trust.
Finally, this is just something that I tried out, and that worked for me. Depending on your network setup, operating system, etc etc, your mileage may vary. Goes without saying lol.
Good luck!