Greetings-
I built a simple docker container to support my site, partytruths.com and wanted to share. I’ve tried to document as much as possible and it’s very easy to mount your own project folder. Please see the github repo for more details.
I built this as a multi-stage build to try to keep the size down, however it is still ~256MB compressed / 950MB uncompressed. This package includes many dependencies which inflate the size. Some required packages are large such as Pyarrow which is a Streamlit dependency and > 200MB alone. For additional efficiency, you may recompile many of these. The base image is not Alpine so the intrepid optimizer has many available options.
I’m running this successfully on with a simple stack including a Traefik reverse proxy on a free-tier Oracle Cloud instance with 1GB ram and 1 VCPU and it seems to run smoothly, though I haven’t done load testing.
There are two tags, the standard is:
intelligentdesigns/streamlit-plus:latest
and one I built with a bunch of extra tools is at:
intelligentdesigns/streamlit-plus:extra-latest
TODO: Need to push updates to github because I modified the builds a bit then got sidetracked, but here is approx what is included in each; there are surely a couple more
Key packages included:
Greetings to anybody following this thread. I just wanted to send through a notice that I have made some huge updates. Here’s the full README from my github repo:
streamlit-plus
A batteries included docker build including Streamlit + Visualization Tools + Other key tools
For a quickstart, run:
docker run -p 8080:8080 -e STREAMLIT_SERVER_PORT=8080 --restart always intelligentdesigns/streamlit-plus:latest
git clone https://github.com/bigjoedata/streamlit-plus
cd streamlit-plus
nano docker-compose.yml # point the bind mount for /app to your own app folder. As part of the magic of Streamlit, any changes to the folder will be immedialey reflected in your Streamlit
docker build -t .
docker-compose up -d # launch in daemon (background) mode
To build your own, follow the above directions.
nano requirements.txt # Change dependencies as needed. You can also change the requirements_extra.txt or requirements_stbot.txt files for the other versions
nano Dockerfile # Change options if needed. Use Dockerfile_extra or Dockerfile_stbot depending on what you edited above
docker build -f Dockerfile -t streamlit-plus:latest . # Build the Dockerfile you edited above and change tag name similarly
And more. See requirements for versions and full list of included packages.
Note: I have built this as a multi-stage build to try to keep the size down, however it is still ~256MB compressed / 950MB uncompressed. This package includes many dependencies which inflate the size. You can roll your own by editing the requirements.txt and rebuilding, but some required packages are large such as Pyarrow which is a Streamlit dependency and > 200MB alone.
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.