Streamlit Cloud Port Proxying on streamlit.io

Hi there, I’m just now playing around with streamlit and impressed with the webapps I can spin up locally - but I’m running into issues deploying on the cloud.

This seems related to: Streamlit Cloud Open Ports cc @penfever

@giswqs has also struggled with this issue when deploying leafmap on Streamlit.io: https://streamlit.geemap.org/


Specifically, I am working to create a streamlit app with localtileserver: a Python package the creates a background thread with a web server to perform dynamic tile serving of geospatial raster imagery. localtileserver launches a web server that serves tiles in the Slippy Maps standated (i.e., zoom/x/y.png) so that an image can be visualized with something like streamlit-folium. Learn more:

I ran into this same issue when running localtileserver in JupyterHub as well but I was able to mitigate the issue through the use of jupyter-server-proxy:

In essence, localtileserver launches a web server on a random local port (let’s say 5555) and jupyter-server-proxy enables users to access that port on the server from their remote web browser by proxying localhost:5555 to https://hub-binder.mybinder.ovh/user/banesullivan-lo-tileserver-demo-25vjflmj/proxy/44373/ for example.

I’m wondering if there is a way to proxy a port like this on streamlit.io like with JupyterHub?

None of this is an issue when running locally as my local browser can access localhost:5555 but in the cloud, we need to proxy that port somehow so that it is available under a URL like https://share.streamlit.io/me/myapp/proxy/5555 or similar

This would be a game-changer for the kinds of apps I could create and deploy with streamlit cloud so any help would be massively appreciated!

Here is a preview of my app running locally:

My repository for this app is here: GitHub - banesullivan/streamlit-localtileserver: A streamlit demo of localtileserver

It would be fantastic if we can get localtileserver to work with Streamlit Cloud. It will make rendering raster datasets in the cloud so much easier!

1 Like

Following up as I’m investigating this.

This currently open feature request seems like the it’s heading towards what I would need:

And is related to this topic: Streamlit restful app

Opened a PR: