← 返回首页
Dify · 多租户

dify 开启多租户模式

通过进入 Dify Docker 容器、修改 account_service.py 和 feature_service.py 源码,实现新用户自动创建工作区的多租户模式。

作者:dot_life 来源:CSDN 更新:2025/04/03

前言

如果你正在用 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

验证步骤:

  1. 注册一个新用户账号
  2. 登录后检查是否自动创建了独立的工作区
  3. 确认不同用户之间的数据互相隔离
适用场景:团队隔离、SaaS 化部署、让每个租户拥有独立工作空间。

文章来源

本文内容整理自以下原始出处:

原文作者:dot_life(CSDN)