一、前置条件
Clone Dify 代码:
git clone https://github.com/langgenius/dify.git
在启用业务服务之前,我们需要先部署 PostgresSQL / Redis / Weaviate(如果本地没有的话),可以通过以下命令启动:
cd docker
cp middleware.env.example middleware.env
docker compose -f docker-compose.middleware.yaml up -d
二、后端启动(源码启动)
1.进入后端目录api
cd api
2.复制环境变量配置文件
cp .env.example .env
3.生成随机密钥,并替换 .env
中 SECRET_KEY
的值
awk -v key="$(openssl rand -base64 42)" '/^SECRET_KEY=/ {sub(/=.*/, "=" key)} 1' .env > temp_env && mv temp_env .env
4.安装依赖包
Dify API 服务使用 Poetry 来管理依赖。您可以执行 poetry shell
来激活环境。
poetry env use 3.10
poetry install
5.执行数据库迁移,将数据库结构迁移至最新版本
poetry shell
flask db upgrade
6.启动 API 服务
flask run --host 0.0.0.0 --port=5001 --debug
三、后端启动(docker)
1、进入api目录运行docker构建脚本
docker build -t dify-api .
2、运行docker镜像
docker run --name dify-api -p 5001:5001 -d dify-api
四、前端启动(源码启动)
1、进入web目录
2、运行npm install
3、运行npm run start
五、前端启动(docker启动)
1、与源码步骤一致
2、运行npm run build
3、运行docker构建命令
docker build -t dify-web .
4、运行docker镜像
docker run --name dify-web -p 3000:3000 -d dify-web
以上流程完成后,Dify 的后端 API 将在 http://localhost:5001
提供服务,前端界面则在 http://localhost:3000
可访问。
总结
完成以上步骤后,Dify 的部署分为后端 API 服务和前端界面两部分:
- 后端 API:在
http://localhost:5001
提供数据和业务逻辑支持。 - 前端界面:在
http://localhost:3000
提供用户交互界面。
可根据实际需求选择源码或 Docker 启动方式。通过本地启动的中间件服务(PostgresSQL、Redis 和 Weaviate)支持,确保系统的持久存储、缓存和向量数据库的完整功能。