当前位置: 首页 > news >正文

Ubuntu22系统docker部署Dify【教程】

0.dify介绍

1.资源限制

CPU >= 2 核
内存 >= 4 GiB

以下是转换为表格形式的 Markdown 内容:

操作系统软件要求配置/注意事项参考链接
macOS 10.14 或更高版本Docker 桌面- 虚拟机(VM)需至少 2 个 vCPU8 GB 内存,否则可能安装失败。Mac 的 Docker Desktop 安装指南
Linux 平台- Docker 19.03 或更高版本
- Docker Compose 1.28 或更高版本
- 分别安装 Docker 和 Docker Compose。Docker 安装指南、Docker Compose 安装指南
启用 WSL 2 的 WindowsDocker 桌面- 建议将 Linux 容器数据存储在 Linux 文件系统,而非 Windows 文件系统。Windows 上使用 WSL 2 后端的 Docker 安装指南

2.docker安装

不会的移步博文Ubantu系统非root用户安装docker教程

3.克隆dify仓库

 git clone https://github.com/langgenius/dify.git --branch 1.2.0

NOTES--branch 1.2.0 可以替换,例如:--branch latest

克隆成功截图如下:
克隆成功

4.修改配置文件,改变访问端口和依赖服务的端口【可选】

——————————————
由于我也用docker部署了ragflow,ragflow和dify默认启动端口都是80,所以需要确认端口使用情况,防止冲突。
——————————————
这里为了操作简单,修改的是ragflow的端口

8086:80
4433:443

修改RAGFLOW两个配置文件docker-compose.ymldocker-compose-gpu.yml中的端口,具体如下

修改配置文件端口

修改配置文件(GPU)端口
改变共同依赖服务redis的端口

5.复制配置文件

cp .env.example .env

6.拉取dify镜像

docker compose up -d

成功截图如下
成功截图

7.启动dify

浏览器输入IP/install回车
Notes:IP地址是你拉起dify的机器IP
界面如下
成功进入界面
——————————————————
如果拉起Dify v1.2.0发现报错:

Internal Server Error

解决办法:
(1)修改.env文件中以下值

PLUGIN_S3_USE_AWS_MANAGED_IAM=false
PLUGIN_S3_USE_PATH_STYLE=false

(2)在配置文件中加入以下内容:

plugin_daemon:environment:S3_USE_AWS_MANAGED_IAM: ${PLUGIN_S3_USE_AWS_MANAGED_IAM:-false}

配置文件修改截图
配置文件修改
————————————————

8.dify正常使用

界面如下
成功进入界面

9.后续Dify使用问题

(1)Vector database连接错误
报错如下:

Vector database connection error

解决:
修改配置文件.env或者docker-compose.yaml如下所示:

VECTOR_STORE=milvus
MILVUS_HOST=your-milvus-host
MILVUS_PORT=your-milvus-port
MILVUS_USER=your-milvus-username
MILVUS_PASSWORD=your-milvus-password
MILVUS_SECURE=false

如果没有Milvus向量库,可以用以下命令下载

wget https://github.com/milvus-io/milvus/releases/download/v2.4.5/milvus-standalone-docker-compose.yaml -O docker-compose.yaml

NOTES:Milvus 是一个开源的向量数据库,适合各种规模的人工智能应用,从在 Jupyter notebook 中运行一个演示聊天机器人,到构建服务数十亿用户的网络规模搜索。

http://www.dtcms.com/a/336166.html

相关文章:

  • go资料汇总
  • 上网行为组网方案
  • 图论水题4
  • 隐私屏软件(支持win10以上系统)
  • Python异常、模块与包(五分钟小白从入门)
  • Android面试指南(二)
  • 工具测试 - marker (Convert PDF to markdown + JSON quickly with high accuracy)
  • JavaScript 中constructor 属性的指向异常问题
  • Python实现区域生长和RANSAC聚类
  • 线程基本API
  • 输入坐标移动
  • 在线编程题目之小试牛刀
  • 多线程—飞机大战(加入排行榜功能版本)
  • 数字化转型成功案例:赋能供应链运输成本精细化管理
  • 网络编程3(网络层,数据链路层)
  • 批次号规则
  • Vue中v-show与v-if的区别
  • 【AI论文】序曲(PRELUDE):一项旨在考察对长文本语境进行全局理解与推理能力的基准测试
  • C语言私人学习笔记分享
  • STM32单片机学习日记
  • 第四章:大模型(LLM)】06.langchain原理-(7)LangChain 输出解析器(Output Parser)
  • 模型提取的相关经验
  • 库制作与原理(下)
  • 端到端测试:复杂系统的终极体检术
  • 【C2000】德州仪器C2000产品开发板的原理图如何找到?
  • 反向代理、负载均衡器与API网关选型决策
  • 《MutationObserver深度解构:重塑自动化视觉回归测试的底层逻辑》
  • B站 韩顺平 笔记 (Day 21)
  • [python学习记录2]变量
  • 【Unity3D实例-功能-拔枪】角色拔枪(二)分割上身和下身