开源仓库地址: https://github.com/eskim2001/dshcloud
自托管的多用户、多实例平台,用户数据持久化
起源
最近用 dsh 创造模式用的很多,经常就把 dsh 改造成一个完全不同的 app 了,这时候要分享给不太会用的朋友比较麻烦,就想到了把这个部署到云上。没考虑现有的方案主要是第二个问题,dsh 版本更新的很快,希望能方便的更新 dsh ,保留原来的用户数据,于是就想到了做容器化的隔离+mount 持久化。
什么时候用得上
和朋友分享你改造的 dsh:每个 dsh 是一个独立域名 ,数据与配额互相隔离,甚至未来可以作为多租户
不想依赖本地设备:跑在自己的 VPS 上持续在线,浏览器从任意设备进
想要快速升级新版的 dsh:换镜像升级,升前自动打数据快照,失败能回滚
具体能力
workspace 创建/启停/重建/删除:每个 workspace 独立容器 + 持久化存储,CPU 、内存、进程数、磁盘容量都有配额
邀请制多用户:管理员发邀请链接加人,没有公开注册
访问控制:workspace 端口只绑宿主机回环,外部访问要走 Traefik forward-auth + 归属校验 + 按 workspace 的签名校验
版本管理:从 GHCR 同步版本目录、发布稳定版本、配置默认版本
控制台:配额查看、用量采样、workspace 日志流
界面支持中英文、明暗主题、⌘K 命令菜单
先在线试试
在线 demo: https://console.demo.dshcloud.app
demo-user 这个 workspace 放了一个 10 块钱的 key ,可以直接测试
现在比较有意思的是这样的,你可以和你的朋友一起用一个账号登录同一个实例,dsh 支持两边都事实更新,这个就有点像一些协作文档一样了,甚至你俩可以在同一个实例里面用 AI 对战之类的,后续会考虑单独做 dsh 的分享功能,现在必须要同一个账号才行
装在自己服务器上
需要一台 Linux + Docker Compose (本地用 mac 也可以),放开 80/443 端口,预留磁盘配额:
curl -fsSL https://raw.githubusercontent.com/eskim2001/dshcloud/main/scripts/install.sh | bash
当前状态:早期开发。可用于评估和开发,打算暴露到公网的话。
有兴趣的点 star ,这里或者 issue 有任何反馈(包括吐槽)都欢迎。