Windows Server · Python hosting
Streamlit loads but never becomes interactive (Windows Server)
The Streamlit page paints but widgets never respond — WebSockets never reach the app. Needs the 0.6.14+ public gateway.
What you’re seeing
The Streamlit page renders, then hangs — widgets don’t run, or the browser console shows WebSocket failures under a path like /apps/<slug>/.
Why it happens
Streamlit needs a working WebSocket to the same origin path. Plain IIS HttpPlatformHandler or an HTTP-only reverse proxy will serve the HTML but break the interactive channel. Gradio often hits the same class of failure.
The fix
- Host with a stack that proxies WebSocket upgrades to the app port
- Preserve the public path prefix (
/apps/<slug>/baseUrlPath) - Redeploy after enabling that mode, then hard-refresh
With iVistaar 0.6.14+: .\scripts\install-admin-service.cmd -Port 8080, Redeploy, then check Health & runtime + Runtime log.
Avoid this class of problem
iVistaar runs a public TCP gateway in service mode that splices WebSocket upgrades for Streamlit/Gradio under /apps/<slug>/ — the gap most “deploy Streamlit on IIS” threads never solve cleanly.
Publish without the IIS tax
iVistaar is an internal deployment control plane for Windows Server/IIS that gives Flask, Dash, and Streamlit apps an org URL without Git or cloud services. Free demo includes 3 sites.