I just created a dashboard for my team but it’s only running locally. What’s the easiest way to host it?
We’re actually working on adding 1-click hosting to Streamlit, as a paid service. If you are interested, we are beta testing it right now. Let me know if you’d like to be in that beta!
That said, you can always host your app yourself. Some possible solutions:
- Find a server you can SSH into, copy your code over there, and call
streamlit run youscript.py. This server would be some machine you have lying around, or even an instance on your favorite cloud provider (AWS, GCP, Heroku, etc.)
- Put your app in a Docker container and host it in your favorite cloud provider. Let me know if this is what you want to do, and I can give you some pointers. But this can get pretty complex.
Sounds good, where do I sign up?
Awesome to have you onboard! Shoot a note over to firstname.lastname@example.org and I’ll add you to it and set up some time to chat about your hosting needs.
Huh, that’s interesting. I’m going to shoot over an email as well. @Amanda_Kelly
Awesome, I’ll keep an eye out for the email @BenR93.
I spent some time trying to host an instance of Streamlit on Heroku but with no success.
The problem I stumbled upon is that Heroku defines the exposed Port when a new dyno executes and I have no way to pass the port as a parameter to Streamlit. (something like
streamlit run script.py -p $PORT)
Another option would be to host Streamlit’s config file but I have no idea how to point to the config file (there’s no ~/.streamlit/ on the dyno’s filesystem). Is there any environment variable that streamlit looks for to know where to find the config file?
Thanks for the great questions!
We are merging in a new feature which will allow you to set the port on the command line. It will arrive in Streamlit 0.48 next week. Please feel free to follow that pull request for the latest news on that feature.
Regarding the more general question of using Streamlit with Heroku, we’re still looking into this and will get back to you!