I’m trying to host streamlit on Heroku but so far I haven’t been successful.
After a series of trial and error I’m launching my web dyno with (content of my Procfile): web: sh setup.sh && streamlit run some_script.py
Where setup.sh is
This setup script ensures that the port is properly set, that I’m running a headless server and that the boot process does not get stuck waiting for a valid email.
By running heroku logs --tail I see that streamlit as started correctly.
When I access https://my-streamlit-app-on-heroku.herokuapp.com/ I get a streamlit’s empty landing page (with the burguer button on the top right, with a message next to it saying “connecting”).
Eventually I get a popup error saying “Connection failed with status 0.”
Hi, Alexandre. I believe that this won’t work because Heroku doesn’t currently support websockets, which Streamlit requires.
However, I don’t want to jump to conclusions because I wasn’t involved in the Streamlit + Heroku effort here. So I pinged some Streamlit engineers who worked on this to provide more details!
Please understand the delay as we get back to you.
I see most of the comments are from 2019, but if anyone trying to deploy on Heroku today make sure your requirements.txt file has streamlit version code. If not specified it keeps showing “Connecting to streamlit” when viewed through the link. Maybe a bug in the latest version.
2020-07-14T15:27:22.074324+00:00 heroku[web.1]: Starting process with command sh setup.sh && streamlit run app.py
2020-07-14T15:27:29.434867+00:00 heroku[web.1]: Process exited with status 134
2020-07-14T15:27:29.475031+00:00 heroku[web.1]: State changed from starting to crashed
2020-07-14T15:27:29.343638+00:00 app[web.1]:
2020-07-14T15:27:29.343681+00:00 app[web.1]: Telemetry: As an open source project, we collect usage statistics.
2020-07-14T15:27:29.343682+00:00 app[web.1]: We cannot see and do not store information contained in Streamlit apps.
2020-07-14T15:27:29.343682+00:00 app[web.1]:
2020-07-14T15:27:29.343682+00:00 app[web.1]: If you’d like to opt out, add the following to ~/.streamlit/config.toml,
2020-07-14T15:27:29.343687+00:00 app[web.1]: creating that file if necessary:
2020-07-14T15:27:29.343687+00:00 app[web.1]:
2020-07-14T15:27:29.343688+00:00 app[web.1]: [browser]
2020-07-14T15:27:29.343692+00:00 app[web.1]: gatherUsageStats = false
2020-07-14T15:27:29.343693+00:00 app[web.1]:
2020-07-14T15:27:29.369552+00:00 app[web.1]: libgcc_s.so.1 must be installed for pthread_cancel to work
2020-07-14T15:27:36.000000+00:00 app[api]: Build succeeded
@Nikhil_Agarwal , kindly help to me solve the above issue as you mentioned followed same steps but giving same application error.
Hello! I am using streamlit==0.67.1, and I keep seeing this error message '‘Connection failed with status 0.’. Even when running ‘streamlit hello’ I see this error. I’m not sure how to troubleshoot this, could someone assist? I’m using a virtual machine and I wasn’t seeing this error 3 weeks ago, but it has been happening for 2 weeks now.
@anasalu I had the same problem. Try Nikhil’s solution above with the Streamlit version set to 0.49.0 and edit the setup.sh file to exlude any new line characters (\n). Also, if you copy the code, be sure that the quotation characters an non-directional (should be the default of your keyboard, so you might just have to retype those). If this doesn’t work, try including a runtime.txt file in your directory specifying the version of Python. My Streamlit app is working with python-3.7.5 in my runtime.txt file.
Thanks for stopping by! We use cookies to help us understand how you interact with our website.
By clicking “Accept all”, you consent to our use of cookies. For more information, please see our privacy policy.
Cookie settings
Strictly necessary cookies
These cookies are necessary for the website to function and cannot be switched off. They are usually only set in response to actions made by you which amount to a request for services, such as setting your privacy preferences, logging in or filling in forms.
Performance cookies
These cookies allow us to count visits and traffic sources so we can measure and improve the performance of our site. They help us understand how visitors move around the site and which pages are most frequently visited.
Functional cookies
These cookies are used to record your choices and settings, maintain your preferences over time and recognize you when you return to our website. These cookies help us to personalize our content for you and remember your preferences.
Targeting cookies
These cookies may be deployed to our site by our advertising partners to build a profile of your interest and provide you with content that is relevant to you, including showing you relevant ads on other websites.