You have a typo in one of your files in the repo (requirments.txt -> requirements.txt), which probably causes the build to fail. But it doesn’t explain why the ~/.streamlit directory is not created.
I have pretty much the same setup (following this guide: streamlit heroku guide), but I haven’t run into the same issue. Check the guide, maybe you missed a step in the heroku setup. Otherwise someone else might be able to help here
Your setup.sh looks like it’s creating the ~/.streamlit/config.toml file successfully. It’s not formatting that file correctly, however - you don’t need the backslashes and newline character in there. This will work better:
This isn’t the issue preventing your app from launching, however - that looks like it’s likely due to conflicts in your Pipfile.lock. (A side note: there’s no reason to have both requirements.txt and Pipfile/Pipfile.lock in your project - they’re just two different ways to declare your Python dependencies.) I’d suggest removing both Pipfile and Pipfile.lock, and just using requirements.txt instead, for simplicity’s sake.
I’ve created a sample Streamlit-on-Heroku repo that you can check out if you’re still having trouble. It’s mostly equivalent to what you’ve done, but it specifies a Python 3 runtime, has a simplified requirements.txt, and doesn’t create a credentials file, which is actually unnecessary (though there’s no harm in adding one!).
“Error R10 (Boot timeout) -> Web process failed to bind to $PORT within 60 seconds of launch”,
Why am I getting this error while deploying my Streamlit app on Heroku??
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.