dify 开启多租户模式
通过进入 Dify Docker 容器、修改 account_service.py 和 feature_service.py 源码,实现新用户自动创建工作区的多租户模式。
前言
如果你正在用 Dify 搭建一个团队内部的知识库或者 AI 应用平台,可能会遇到一个实际问题:新注册的用户怎么才能自动拥有一个独立的工作区?
Dify 社区版默认是单租户模式,所有用户共享同一个工作空间。要实现多租户(每个用户/团队拥有独立工作区),需要通过修改容器内的源码来开启。
Dify 的多租户功能是其商业版的标准功能,我们应当尊重其盈利模式。只有保持良性的商业运作,Dify 才能持续发展。因此,此功能仅限学习使用。
进入 Docker 容器
首先执行以下命令进入 Dify 的 API 容器:
sudo docker exec -it docker-api-1 /bin/bash
然后安装 vim 编辑器(容器内默认可能没有):
apt update && apt install -y vim
修改 account_service.py
编辑 services/account_service.py 文件,增加创建工作区的代码逻辑:
关键修改是增加 .filter_by(role="owner") 条件,意思是在当前账户下没有工作区的时候就自动创建一个。
这样新注册用户登录时,系统会自动为其分配一个独立的工作空间,实现数据隔离。
修改 feature_service.py
编辑 services/feature_service.py 文件,开启创建工作区的开关:
将控制多租户功能的变量改成 True,以启用工作区自动创建功能。
具体变量名和位置请参照原文截图和代码上下文,确保修改的是正确的配置项。
重启与验证
修改完成后,重启 Dify 相关服务使配置生效:
docker restart docker-api-1
验证步骤:
- 注册一个新用户账号
- 登录后检查是否自动创建了独立的工作区
- 确认不同用户之间的数据互相隔离
适用场景:团队隔离、SaaS 化部署、让每个租户拥有独立工作空间。
文章来源
本文内容整理自以下原始出处:
原文作者:dot_life(CSDN)