shinyproxy部署streamlit记录
streamlit 也是构建shinyproxy的后段是docker,所以不但可以部署shiny应用,还可以部署streamlit应用以及其它的应用程序。
部署的过程分两步,第一步是构建streamlit应用的docker镜像,就是构建Dockerfile;第二步是配置shinyproxy,就是配置application.yml。
部署过程
- Dockerfile:可以从streamlit 官方的文档中查到Dockerfile的主要命令和结构,但是在实际的部署过程中,我这边没有成功,报错为502 bad gateway,如果也遇到这个错误,可以参考github上shinyproxy官方Dockfile的例子,如下图。两部分的区别就在于文件的最后一行。
- application.yml:这个文件设置在shiny和streamlit来说是通用的,稍微有一点区别的话是streamlit增加了以port :8501的设置。也可以根据github上的例子来设定,如下图。
后续
经过以上的设定之后就可以实现本地访问了,如果想外网访问的化可以了解一下内网穿透,我用的是cploar,也支持自定义域名转到自己的网站上。
这样就可以用自己的电脑作为服务器来实现web app的服务,因为web app常识机器学习或者深度学习,需要大量的计算资源,用自己的服务器可能在性能上更适合一些。
以上是自己在shinyproxy上部署streamlit的记录,希望对大家有所帮助!