Sharing your Streamlit App on Local Network on Port 80 - Good/Bad idea?

Hi all,
I’m trying to share a Streamlit app in an environment that is quite locked down - essentially I can run Python/Streamlit on my work desktop, but not add any new machines or servers to host anything, and can only “touch” the rest of the network through our http proxy on port 80.

Obviously when you run Streamlit app for testing, it hosts it locallly, defaulting to port 4501 or whatever. If I change that to port 80…in theory, anybody on my network can just dial in to my machine’s IP and see the app. I’d really like to be able to do that for a short-term tactical fix - eg, a day or so at a time just to show off the prototype to a few select users.

I’m pretty sure my network team will hate this idea, but from a practical perspective…is it…bad? It exposing me or anybody else on the network to any kind of risk? Bit nebulous, but would welcome thoughts!

Hi @AndreasThinks

My 2 cents:

First, in order to open port 80 you should have admin permission on your computer.
Second, I’d put some web server in front of it, like nginx for example, so nginx will take the request and proxy it to streamlit.

Cheers

Hi @AndreasThinks, welcome to the Streamlit community!

I think this sounds like a reasonable solution. The important thing to realize that if you are working in a locked down environment, your computer is likely the internal network id, not an externally accessible IP. So hosting your Streamlit app from your machine to make it accessible to your co-workers is relatively safe (it’s a completely different threat model if you assume that your co-workers could conceivably hack you).

So the biggest question is whether port 80 would actually work, or that the default Streamlit port doesn’t work. But in general, running something from your computer for a day to serve to your internal network is something I’d be comfortable with if one of my co-workers wanted to do the same.

Best,
Randy