Dify下载和安装
https://github.com/langgenius/dify
https://docs.dify.ai/zh-hans
https://docs.dify.ai/zh-hans/getting-started/install-self-hosted/local-source-code
ubuntu下载并解压
wget https://github.com/langgenius/dify/archive/refs/tags/0.15.3.zip
unzip 0.15.3.zip -d /home/ai/
从发行版本中下载,不要git项目,下载后解压改名为dify
windows下后端需运行在docer中
cd dify/docker
cp .env.example .env
sudo docker compose up -d 启动并运行容器,也可以作为重启
sudo docker compose down # 停止并移除现有的容器
如果要使用代理
打开v2ray目录,设置v2ray可执行
sudo ./v2ray run --config=./config.json
export all_proxy=http://127.0.0.1:10809
source ~/.bashrc
curl -v https://www.google.com 验证访问
取消代理
unset all_proxy
服务器设置域名和端口映射关系,如果不是服务器部署跳过
容器自身的nginx配置路径:项目路径/docker/nginx/conf.d/default.conf 设置域名绑定
编辑docker-compose.yaml的nginx端口项
#将宿主9998端口映射到容器内80端口
ports:
- '9998:${NGINX_PORT:-80}'
启动后即可访问http://localhost/install 初始化
右上角》设置》模型提供商,添加模型
地址写:WSL2中的地址,linux中的docker写局域网,虽然本机能通过本地地址访问到wsl2中但是docder中的是访问不到WSL2,因此需要在使用ip a查询和本机的地址
添加完所有模型后,需要刷新页面,然后在模型供应商的右上角》系统模型配置,指定模型
如如dify运行在容器中,需要使用host.docker.internal代替本地地址
http://host.docker.internal:9997
然后创建一个空白应用,就已经可以选择使用了
dify从源码构建安装
使用pyenv先创建一个3.12.9的虚拟环境
pyenv virtualenv 3.12.9 name 创建指定版本的虚拟环境
pyenv activate venv 激活虚拟环境
开启代理下载项目
git clone https://github.com/langgenius/dify.git
ide切换到dify目录
执行命令前确保在虚拟环境中
cd api
cp .env.example .env
awk -v key="$(openssl rand -base64 42)" '/^SECRET_KEY=/ {sub(/=.*/, "=" key)} 1' .env > temp_env && mv temp_env .env
pip install poetry 安装依赖管理工具
poetry env activate 激活环境
poetry install 安装依赖
或者
修改pyproject.toml:
[project]
version = "0.1.0" # 需要确保这一行存在
[tool.poetry]
package-mode = true # 这里允许作为一个包
pip install -e . 安装依赖
flask db upgrade 迁移数据库到最新版
启动服务都要在api目录下执行
flask run --host 0.0.0.0 --port=5001 --debug 启动API服务
celery -A app.celery worker -P gevent -c 1 -Q dataset,generation,mail,ops_trace --loglevel INFO 启动任务列队
前端构建和运行,这里可以在windows中执行
打开web目录后
npm install -g pnpm
pnpm install
pnpm approve-builds
npm run build 构建(需使用管理员权限运行)
npm start 启动