【保姆级教程!!】基于docker的dify本地部署、启动、升级

首先确保你已经安装了docker:

在终端输入docker --version,如果能看到版本信息,就说明docker安装成功。

接下来按照dify官方文档:

克隆 Dify 代码仓库

打开Git Bash,克隆 Dify 源代码至本地环境。

# 假设当前最新版本为 0.15.3
git clone https://github.com/langgenius/dify.git --branch 0.15.3

如果克隆不成功,可能是网络问题,可以检查网络设置,或者选择直接去Github上下载源码。

启动 Dify

  1. 进入 Dify 源代码的 Docker 目录

    cd dify/docker
    
  2. 复制环境配置文件

    cp .env.example .env
    
  3. 启动 Docker 容器

    打开Docker Desktop,启动Docker。

  4. 根据你系统上的 Docker Compose 版本,选择合适的命令来启动容器。你可以通过 $ docker compose version 命令检查版本,详细说明请参考 Docker 官方文档

    • 如果版本是 Docker Compose V2,使用以下命令:
    docker compose up -d
    
    • 如果版本是 Docker Compose V1,使用以下命令:
    docker-compose up -d
    

运行命令后,你应该会看到类似以下的输出,显示所有容器的状态和端口映射:

[+] Running 11/11
 ✔ Network docker_ssrf_proxy_network  Created                                                                 0.1s 
 ✔ Network docker_default             Created                                                                 0.0s 
 ✔ Container docker-redis-1           Started                                                                 2.4s 
 ✔ Container docker-ssrf_proxy-1      Started                                                                 2.8s 
 ✔ Container docker-sandbox-1         Started                                                                 2.7s 
 ✔ Container docker-web-1             Started                                                                 2.7s 
 ✔ Container docker-weaviate-1        Started                                                                 2.4s 
 ✔ Container docker-db-1              Started                                                                 2.7s 
 ✔ Container docker-api-1             Started                                                                 6.5s 
 ✔ Container docker-worker-1          Started                                                                 6.4s 
 ✔ Container docker-nginx-1           Started                                                                 7.1s

如果运行不成功,有可能是docker镜像的问题,需要进行镜像配置。

 docker镜像配置:

"https://docker.1ms.run",
"https://hub.rat.dev",
"https://docker.1panel.live",
"https://hub.rat.dev",
"https://proxy.1panel.live",
"https://ghcr.nju.edu.cn",
"https://docker.registry.cyou",
"https://dockercf.jsdelivr.fyi",
"https://docker.rainbond.cc",
"https://registry.cn-shenzhen.aliyuncs.com",
"https://dockertest.jsdelivr.fyi",
"https://mirror.aliyuncs.com",
"https://mirror.baidubce.com",
"https://docker.mirrors.ustc.edu.cn",
"https://docker.mirrors.sjtug.sjtu.edu.cn",
"https://mirror.iscas.ac.cn",
"https://docker.nju.edu.cn",
"https://docker.m.daocloud.io",
"https://dockerproxy.com",
"https://docker.jsdelivr.fyi",
"https://docker-cf.registry.cyou"

可以直接在docker desktop里面配置:

配置完成别忘了重启下docker,然后终端输入:docker info,能够看到如下配置已生效即可。

最后检查是否所有容器都正常运行:

docker compose ps

在这个输出中,你应该可以看到包括 3 个业务服务 api / worker / web,以及 6 个基础组件 weaviate / db / redis / nginx / ssrf_proxy / sandbox 。

NAME                  IMAGE                              COMMAND                   SERVICE      CREATED              STATUS                        PORTS
docker-api-1          langgenius/dify-api:0.6.13         "/bin/bash /entrypoi…"   api          About a minute ago   Up About a minute             5001/tcp
docker-db-1           postgres:15-alpine                 "docker-entrypoint.s…"   db           About a minute ago   Up About a minute (healthy)   5432/tcp
docker-nginx-1        nginx:latest                       "sh -c 'cp /docker-e…"   nginx        About a minute ago   Up About a minute             0.0.0.0:80->80/tcp, :::80->80/tcp, 0.0.0.0:443->443/tcp, :::443->443/tcp
docker-redis-1        redis:6-alpine                     "docker-entrypoint.s…"   redis        About a minute ago   Up About a minute (healthy)   6379/tcp
docker-sandbox-1      langgenius/dify-sandbox:0.2.1      "/main"                   sandbox      About a minute ago   Up About a minute             
docker-ssrf_proxy-1   ubuntu/squid:latest                "sh -c 'cp /docker-e…"   ssrf_proxy   About a minute ago   Up About a minute             3128/tcp
docker-weaviate-1     semitechnologies/weaviate:1.19.0   "/bin/weaviate --hos…"   weaviate     About a minute ago   Up About a minute             
docker-web-1          langgenius/dify-web:0.6.13         "/bin/sh ./entrypoin…"   web          About a minute ago   Up About a minute             3000/tcp
docker-worker-1       langgenius/dify-api:0.6.13         "/bin/bash /entrypoi…"   worker       About a minute ago   Up About a minute             5001/tcp

通过这些步骤,你可以在本地成功安装 Dify。

最后,通过浏览器访问127.0.0.1就可以尽情探索Dify啦!^q^ 

补一个dify升级教程(0.15.3->1.4.2)

  1. 1. 备份现有配置与数据
cd docker
cp docker-compose.yaml docker-compose.yaml.$(date +%s).bak
  1. 2. 拉取最新代码
git checkout main  
git pull origin main
  1. 3. 停服并下线旧服务
docker compose down
  1. 4. 启动 1.4.2 版本
docker compose up -d
  1. 5. 备份数据
tar -cvf volumes-$(date +%s).tgz volumes
  1. 6. 验证运行状态
    • • 使用 docker compose ps 检查所有容器是否正常启动
    • • 访问 Web 界面、触发一次文档解析、尝试上传文件、调用知识库 API,确认新特性生效
<think>好的,用户现在在寻找关于Dify搭建的详细教程,特别是保姆的完整指南。我需要根据他们提供的引用内容来组织回答。首先,用户提到了引用[2],里面提到了使用Docker部署Dify,然后整合Ollama和私有化知识库的步骤。我应该详细分解这些步骤,确保结构清晰,符合用户要求的系统指令,比如使用正确的中文回答、分步骤说明,并且生成相关问题。 首先,我需要确认用户的需求是搭建Dify平台,可能用于构建知识库应用。引用中的步骤包括Docker部署、Ollama集成、知识库创建和嵌入模型选择。需要将这些步骤逐一解释,确保每个部分都详细,比如安装Docker的部分可能需要先检查系统是否已安装,如果没有,需要指导用户如何安装。然后,部署Dify时,可能需要拉取镜像、运行容器,并检查服务是否正常启动。 接下来是集成Ollama,用户可能不熟悉Ollama是什么,可能需要简要说明它是一个本地运行大模型的工具,然后给出具体的安装和启动命令。然后配置Dify的后台设置,修改模型配置,这里需要确保用户知道如何找到配置文件,可能需要给出路径或者具体的配置示例。 创建知识库的部分,需要引导用户进入Dify界面,创建知识库,上传文档,并选择嵌入模型。这里需要强调嵌入模型的重要性,比如选择beg-m3模型的高效性,以及如何处理文档格式。完成嵌入后,测试知识库的问答功能,确保一切正常。 最后的应用创建部分,用户可能需要将知识库集成到聊天应用中,这里需要指导用户如何在Dify中创建应用,并绑定知识库,设置对话流程等。 同时,用户提到内网穿透,引用[1]是关于Windows搭建网站和内网穿透的内容,虽然用户主要关注Dify,但可能需要在内网穿透部分简要提及相关工具,如frp或Ngrok,并引用[1]作为参考,但根据用户的问题,可能不需要深入展开,除非用户特别询问。 生成的相关问题需要围绕Dify部署的常见问题,比如优化部署、解决集成问题、模型选择、私有化知识库管理以及内网穿透的具体方法。这些问题应该帮助用户进一步解决可能遇到的挑战。 最后,检查回答是否符合所有系统指令:使用正确的中文、分步骤、LaTeX格式正确(但当前内容中可能没有数学表达式,所以不需要处理)、生成相关问题,并在引用处正确标注[^1]和[^2]。 现在需要将这些思考整理成一个结构清晰、步骤分明的回答,确保用户能够按照步骤操作,同时自然地插入引用标注。</think>以下是关于Dify私有化部署保姆教程,整合了Docker部署、Ollama集成与知识库创建的完整流程: ### 一、Docker环境准备 1. 安装Docker Desktop(Windows/Mac)或Docker Engine(Linux) 2. 验证安装:终端执行`docker --version`,显示版本号即成功[^2] ### 二、部署Dify平台 ```bash # 拉取最新镜像 docker pull dify/dify:latest # 启动容器(含PostgreSQL/Redis) docker run -d --name dify \ -p 8080:8080 \ -v /data/dify/storage:/app/dify/storage \ dify/dify:latest ``` 部署完成后访问`http://localhost:8080`进入控制台 ### 三、Ollama集成配置 1. 安装Ollama(支持macOS/Linux/Windows) ```bash # Linux安装示例 curl -fsSL https://ollama.com/install.sh | sh ollama serve ``` 2. 在Dify后台修改模型配置: ```yaml # config.yaml ollama: base_url: http://localhost:11434 models: - llama2 - mistral ``` ### 四、知识库创建流程 1. **新建知识库** - 登录Dify控制台 → 知识库 → 新建 - 命名规范建议:`部门_类型_版本`(如`技术部_产品手册_v1.2`) 2. **文档上传规范** - 支持格式:PDF/DOCX/Markdown/TXT - 单文件建议<20MB - 批量上传使用ZIP压缩包 3. **嵌入模型选择** ```python # beg-m3模型配置示例 embedding_model = "BAAI/bge-m3" max_seq_length = 8192 ``` 该模型支持中英文混合检索,适合长文本处理 ### 五、应用创建与测试 1. 创建对话型应用 2. 绑定已创建的知识库 3. 配置对话流程: ``` 用户输入 → 意图识别 → 知识库检索 → 模型生成 → 结果反馈 ``` 4. 使用测试窗口验证问答准确性
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值