I would like to deploy an application using docker. In order to access the streamlit server outside the container it should be running on 0.0.0.0 (as far as I now). How do I do that?
I’ve tried playing around with the config.toml file without luck.
If I was running a flask web app with gunicorn the entrypoint would be something like
Welcome to Streamlit!
If you are one of our development partners or are interested in
getting personal technical support, please enter your email address
below. Otherwise, you may leave the field blank.
Email:
Telemetry: As an open source project, we collect usage statistics.
We cannot see and do not store information contained in Streamlit apps.
If you'd like to opt out, add the following to ~/.streamlit/config.toml,
creating that file if necessary:
[browser]
gatherUsageStats = false
You can now view your Streamlit app in your browser.
Network URL: http://172.17.0.2:8501
External URL: http://2.105.106.214:8501
Can you elaborate on what you did? I am running a jupyter notebook from a docker container where I have installed streamlit. Do I have to modify the Dockerfile with someting specific to streamilt?
hi @Marc, thanks a lot for sharing the Dockerfiles. I’m wondering if you have had any luck getting hot realoading to work? I’ve tried mounting the folder where an example app.py file is located but unfortunately I have not yet gotten hot reloading to work the same as when i’m using streamlit run app.py. If I reload the streamlit app manually it does pick up changes that occurred in the mounted app.py file, but it would be great to get the same hot reloading functionality.
Hi @Marc, Ah alright, I’ll see if I can figure a way around this, or just develop with the normal app and use Docker only for production as you are doing. Cheers!
Has anyone got an example using docker-compose with streamlit and other services (e.g. a flask api)? I am unsure how to pass the IP addresses into the two containers