Status and limitations of Community Cloud

您可以在streamlitstatus.com查看社区云的当前状态。

要部署您的应用程序,Streamlit需要访问您在GitHub上的应用程序源代码,并能够管理与您的仓库关联的公钥。默认的GitHub OAuth范围足以处理公共GitHub仓库中的应用程序。然而,为了访问您的私有仓库,我们会创建一个只读的GitHub部署密钥,然后使用SSH密钥访问您的仓库。当我们创建此密钥时,GitHub会通知仓库管理员作为一项安全措施。

Streamlit 需要 GitHub 的额外 repo OAuth 范围来与您的私有仓库一起工作并管理部署密钥。我们认识到 repo 范围赋予了 Streamlit 我们实际上并不需要的额外权限,作为重视安全的人,我们甚至不希望被授予这些权限。这是在创建 Community Cloud 时 GitHub 提供的权限模型。然而,我们正在努力采用新的 GitHub 权限模型,以减少不必要的权限。

由于上述OAuth的限制,开发者必须拥有对仓库的管理权限才能从中部署应用程序。

您可以从您的仓库部署多个应用程序,并且您的入口文件可能位于目录结构中的任何位置。然而,社区云会从您的仓库的根目录初始化所有应用程序,即使入口文件位于子目录中。这会产生以下后果:

  • Community Cloud 只识别仓库根目录(每个分支)下的一个 .streamlit/configuration.toml 文件。
  • 您必须声明图像、视频和音频文件的路径,以便Streamlit命令相对于您的仓库根目录。例如,st.imagest.logost.set_page_config中的page_icon参数期望文件位置相对于您的工作目录(即您执行streamlit run的地方)。

社区云基于Debian Linux构建。

  • 社区云使用 Debian 11("bullseye")。要浏览可以安装的可用软件包,请参阅软件包列表
  • 所有文件路径必须使用正斜杠路径分隔符。
  • 你不能为单个应用程序混合使用Python包管理器。Community Cloud根据它找到的第一个环境配置文件来配置你的应用程序的Python环境。有关更多信息,请参阅其他Python包管理器
  • 我们建议您使用最新版本的Streamlit,以确保完整的社区云功能。在规划您的环境时,请务必注意Streamlit的当前要求以确保包兼容性,特别是protobuf>=3.20,<6
  • 如果你固定使用 streamlit< 1.20.0,你也必须固定使用 altair<5。早期版本的 Streamlit 没有正确限制 Altair 的版本。在 Community Cloud 上运行的解决方法脚本如果检测到较新的版本,将强制安装 altair<5。这可能会无意中升级 Altair 的依赖项,违反你的环境配置。较新版本的 Streamlit 支持 Altair 版本 5。
  • 社区云仅支持仍在接收安全更新的已发布版本的Python。您不能使用已停止支持、预发布或功能版本的Python。有关更多信息,请参阅Python版本状态

以下配置选项在社区云中设置,并将覆盖您的config.toml文件中的任何相反设置:

[client] showErrorDetails = false [runner] fastReruns = true [server] runOnSave = true enableXsrfProtection = true [browser] gatherUsageStats = true

如果您需要为连接设置IP地址白名单,Community Cloud目前从以下IP地址提供服务:

priority_high

警告

这些IP地址可能会随时更改,恕不另行通知。

35.230.127.150
35.203.151.101
34.19.100.134
34.83.176.217
35.230.58.211
35.203.187.165
35.185.209.55
34.127.88.74
34.127.0.121
35.230.78.192
35.247.110.67
35.197.92.111
34.168.247.159
35.230.56.30
34.127.33.101
35.227.190.87
35.199.156.97
34.82.135.155
  • 当您将某些内容打印到云日志时,您可能需要在显示之前执行sys.stdout.flush()
  • 社区云托管所有应用程序在美国。目前这是不可配置的。
  • 社区云限制了从GitHub更新应用的频率,每分钟不超过五次。
forum

还有问题吗?

我们的 论坛 充满了有用的信息和Streamlit专家。