如何本地部署Dify-MacOS端

158 阅读4分钟

什么是 Dify?

Dify 是一个开源的 LLM 应用开发平台,旨在融合 Backend as a Service 和 LLMOps 的理念。它可以帮助开发者快速构建生产级的生成式 AI 应用。

Dify vs 扣子(Coze)对比

用户群体

Dify

  • 更面向专业开发者和企业用户,适合需要高级功能和定制化需求的场景
  • 提供多用户支持和国际化功能,适合B端业务

扣子(Coze)

  • 更面向普通用户和C端开发者,注重用户体验和易用性
  • 提供丰富的插件和模板,适合快速开发和部署

应用场景

Dify

  • 适合需要高度定制化和灵活配置的AI应用开发,例如企业级知识管理、复杂工作流自动化等
  • 支持国际化部署,适合有海外业务需求的用户

扣子(Coze)

  • 适合快速开发和部署AI应用,尤其是需要快速嵌入字节跳动生态的应用
  • 提供丰富的插件和模板,适合需要快速上手和简单操作的用户

本地部署教程

前置要求

  • macOS 系统
  • 网络连接稳定
  • 系统有足够的存储空间(至少 5GB)

第一步:下载 Dify 源码

首先前往官方 GitHub 仓库下载源码:github.com/langgenius/…

打开终端,执行以下命令:

# 进入你想要存放项目的目录
cd /Volumes/macOS/Dify 

# 克隆 Dify 仓库
git clone https://github.com/langgenius/dify.git

# 进入项目目录
cd dify

# 查看项目结构
ls

# 进入 Docker 配置目录
cd docker

# 复制环境配置文件
cp .env.example .env

执行结果示例:

iMac-2014 ~ % cd /Volumes/macOS/Dify 
iMac-2014 Dify % git clone https://github.com/langgenius/dify.git
Cloning into 'dify'...
remote: Enumerating objects: 196054, done.
remote: Counting objects: 100% (36/36), done.
remote: Compressing objects: 100% (30/30), done.
remote: Total 196054 (delta 15), reused 6 (delta 6), pack-reused 196018 (from 2)
Receiving objects: 100% (196054/196054), 106.66 MiB | 8.62 MiB/s, done.
Resolving deltas: 100% (144319/144319), done.

第二步:安装 Docker Desktop

如果执行 docker compose up -d 时出现以下错误:

zsh: command not found: docker

说明系统还没有安装 Docker。需要手动安装:

  1. 下载 Docker Desktop
    • 访问官网:www.docker.com/products/do…
    • 根据你的 Mac 芯片选择对应版本:
      • Intel 芯片:选择 "Mac with Intel chip"
      • M1/M2/M3 芯片:选择 "Mac with Apple chip"
  2. 安装 Docker Desktop
    • 下载完成后,双击 .dmg 文件安装
    • 将 Docker.app 拖拽到 Applications 文件夹
    • 启动 Docker Desktop 应用
  3. 配置 Docker
  • 启动后会出现配置选择界面
  • 如果你是 Docker 新手,选择 Use recommended settings(使用推荐设置)
  • 这是为大多数开发者预设的最佳配置,后续可在设置中调整
  • 选好后点 Finish 完成安装,按提示输入密码授权
  1. 验证安装

    docker --version

成功输出示例:

iMac-2014 ~ % docker --version
Docker version 28.3.2, build 578ccf6

第三步:解决网络问题

执行 docker compose up -d 时可能遇到网络错误:

failed to copy: httpReadSeeker: failed open: failed to do request: Get "https://registry-1.docker.io/v2/semitechnologies/weaviate/blobs/sha256:c41833b44d910632b415cd89a9cdaa4d62c9725dc56c99a7ddadafd6719960f9": EOF

这是因为国内网络访问 Docker Hub 不稳定导致的。

解决方案:配置 Docker 镜像源

  1. 创建 Docker 配置文件

    mkdir -p ~/.docker nano ~/.docker/daemon.json

2. 添加镜像源配置

{
  "registry-mirrors": [
    "https://9cpn8tt6.mirror.aliyuncs.com",
    "https://registry.docker-cn.com",
    "https://mirror.ccs.tencentyun.com",
    "https://docker.1panel.live",
    "https://2a6bf1988cb6428c877f723ec7530dbc.mirror.swr.myhuaweicloud.com",
    "https://docker.m.daocloud.io",
    "https://hub-mirror.c.163.com",
    "https://mirror.baidubce.com",
    "https://dockerhub.icu",
    "https://docker.registry.cyou",
    "https://docker-cf.registry.cyou",
    "https://dockercf.jsdelivr.fyi",
    "https://docker.jsdelivr.fyi",
    "https://dockertest.jsdelivr.fyi",
    "https://mirror.aliyuncs.com",
    "https://dockerproxy.com",
    "https://docker.nju.edu.cn",
    "https://docker.mirrors.sjtug.sjtu.edu.cn",
    "https://docker.mirrors.ustc.edu.cn",
    "https://mirror.iscas.ac.cn",
    "https://docker.rainbond.cc"
  ]
}

3. 重启 Docker Desktop

  • 完全退出 Docker Desktop 应用
  • 重新启动 Docker Desktop

第四步:启动 Dify

配置完成后,重新执行部署命令:

cd /Volumes/macOS/Dify/dify/docker
docker compose up -d

成功启动后会看到类似输出:

[+] Running 10/10
 ✔ Container dify-redis-1       Started
 ✔ Container dify-db-1          Started  
 ✔ Container dify-weaviate-1    Started
 ✔ Container dify-api-1         Started
 ✔ Container dify-worker-1      Started
 ✔ Container dify-web-1         Started
 ✔ Container dify-nginx-1       Started

第五步:访问 Dify

部署完成后,打开浏览器访问:

http://localhost/install

首次访问会进入安装配置页面,按照提示完成初始化设置即可

常见问题

1. Docker 命令找不到

确保 Docker Desktop 已正确安装并启动。

2. 镜像下载失败

配置国内镜像源,重启 Docker Desktop 后重试。

3. 端口占用

确保 80 端口没有被其他服务占用,或修改 docker-compose.yml 中的端口配置。

4. 内存不足

Dify 需要较多内存,建议至少 8GB RAM,必要时可在 Docker Desktop 设置中增加内存限制。