[clace] Streamlit app deployment for teams

Clace is an open source project I have been building which makes it simple to deploy multiple Streamlit apps on one machine.

To host multiple Streamlit apps, the options are to either use a web server like Nginx/Caddy/Traefik and add container management or to go with more heavyweight solutions like Kubernetes. Clace provides a solution which is easy to use while being operationally simple. After starting Docker/Podman and Clace, full GitOps (for code and config) can be enabled with one command:

clace sync schedule --approve --promote github.com/claceio/clace/examples/streamlit.star

That create a background sync which periodically fetches the latest config and creates new apps and updates existing apps.

I have previous posted about Clace and there are users from this community already using it to host Streamlit apps. Since the last post, new features added include:

  • Declarative deployment using Gitops
  • App list UI which automatically shows at the root domain, demo at https://apps.demo.clace.io/
  • Auditing UI which can be installed optionally, demo at https://audit.demo.clace.io/
  • Support for secrets through secrets.toml (env was already supported). Clace might be only platform other the Streamlit Cloud where secrets.toml is supported
1 Like

I made a video demo showing how to use Clace to deploy apps https://youtu.be/YrWNz4JQ6p0