跳转到主要内容
⚠️ 本文档由 AI 自动翻译。如有任何不准确之处,请参考英文原版

先决条件

在安装 Dify 之前,请确保你的机器满足以下最低系统要求:
  • CPU >= 2 Core
  • RAM >= 4 GiB
操作系统软件说明
macOS 10.14 或更高版本Docker Desktop将 Docker 虚拟机 (VM) 设置为使用至少 2 个虚拟 CPU (vCPU) 和 8 GB 初始内存。否则,安装可能会失败。更多信息,请参阅 Mac 版 Docker Desktop 安装指南
Linux 平台

Docker 19.03 或更高版本

Docker Compose 1.28 或更高版本

请分别参阅 Docker 安装指南Docker Compose 安装指南,了解如何安装 Docker 和 Docker Compose 的更多信息。
启用了 WSL 2 的 WindowsDocker Desktop我们建议将源代码和绑定到 Linux 容器的其他数据存储在 Linux 文件系统中,而不是 Windows 文件系统中。更多信息,请参阅 在 Windows 上使用 WSL 2 后端的 Docker Desktop 安装指南。

克隆 Dify

将 Dify 源代码克隆到本地机器:
git clone --branch "$(curl -s https://api.github.com/repos/langgenius/dify/releases/latest | jq -r .tag_name)" https://github.com/langgenius/dify.git

启动 Dify

  1. 导航到 Dify 源代码中的 Docker 目录
    cd dify/docker
    
  2. 复制环境配置文件
    cp .env.example .env
    
  3. 更新主机上的目录所有权
    sudo chown -R 1001:1001 ./volumes/app/storage
    
  4. 启动 Docker 容器 根据你系统上的 Docker Compose 版本选择适当的命令来启动容器。你可以使用 $ docker compose version 命令检查版本,并参考 Docker 文档 获取更多信息。
    • 如果你使用 Docker Compose V2,使用以下命令:
    docker compose up -d
    
    • 如果你使用 Docker Compose V1,使用以下命令:
    docker-compose up -d
    
    执行命令后,你应该看到类似以下的输出,显示所有容器的状态和启动时间:
    [+] Running 13/13
     Network docker_ssrf_proxy_network  Created                                                                10.0s 
     Network docker_default             Created                                                                 0.1s 
     Container docker-sandbox-1         Started                                                                 0.3s 
     Container docker-db_postgres-1     Healthy                                                                 2.8s 
     Container docker-web-1             Started                                                                 0.3s 
     Container docker-redis-1           Started                                                                 0.3s 
     Container docker-ssrf_proxy-1      Started                                                                 0.4s 
     Container docker-weaviate-1        Started                                                                 0.3s 
     Container docker-worker_beat-1     Started                                                                 3.2s 
     Container docker-api-1             Started                                                                 3.2s 
     Container docker-worker-1          Started                                                                 3.2s 
     Container docker-plugin_daemon-1   Started                                                                 3.2s 
     Container docker-nginx-1           Started                                                                 3.4s 
    
  5. 检查所有容器是否成功运行
    docker compose ps
    
    在这个输出中,你应该可以看到包括 5 个业务服务 api / worker / worker_beat / web / plugin_daemon,以及 6 个基础组件 weaviate / db_postgres / redis / nginx / ssrf_proxy / sandbox
    NAME                     IMAGE                                       COMMAND                  SERVICE         CREATED          STATUS                             PORTS
    docker-api-1             langgenius/dify-api:1.10.1                  "/bin/bash /entrypoi…"   api             26 seconds ago   Up 22 seconds                      5001/tcp
    docker-db_postgres-1     postgres:15-alpine                          "docker-entrypoint.s…"   db_postgres     26 seconds ago   Up 25 seconds (healthy)            5432/tcp
    docker-nginx-1           nginx:latest                                "sh -c 'cp /docker-e…"   nginx           26 seconds ago   Up 22 seconds                      0.0.0.0:80->80/tcp, :::80->80/tcp, 0.0.0.0:443->443/tcp, :::443->443/tcp
    docker-plugin_daemon-1   langgenius/dify-plugin-daemon:0.4.1-local   "/bin/bash -c /app/e…"   plugin_daemon   26 seconds ago   Up 22 seconds                      0.0.0.0:5003->5003/tcp, :::5003->5003/tcp
    docker-redis-1           redis:6-alpine                              "docker-entrypoint.s…"   redis           26 seconds ago   Up 25 seconds (health: starting)   6379/tcp
    docker-sandbox-1         langgenius/dify-sandbox:0.2.12              "/main"                  sandbox         26 seconds ago   Up 25 seconds (health: starting)   
    docker-ssrf_proxy-1      ubuntu/squid:latest                         "sh -c 'cp /docker-e…"   ssrf_proxy      26 seconds ago   Up 25 seconds                      3128/tcp
    docker-weaviate-1        semitechnologies/weaviate:1.27.0            "/bin/weaviate --hos…"   weaviate        26 seconds ago   Up 25 seconds                      
    docker-web-1             langgenius/dify-web:1.10.1                  "/bin/sh ./entrypoin…"   web             26 seconds ago   Up 25 seconds                      3000/tcp
    docker-worker-1          langgenius/dify-api:1.10.1                  "/bin/bash /entrypoi…"   worker          26 seconds ago   Up 22 seconds                      5001/tcp
    docker-worker_beat-1     langgenius/dify-api:1.10.1                  "/bin/bash /entrypoi…"   worker_beat     26 seconds ago   Up 22 seconds                      5001/tcp
    
通过这些步骤,你应该能够成功安装 Dify。

升级 Dify

进入 Dify 源代码的 docker 目录并执行以下命令:
cd dify/docker
docker compose down
git pull origin main
docker compose pull
docker compose up -d
  • 如果 .env.example 文件已更新,请确保相应地修改你的本地 .env 文件。
  • 根据需要检查和修改 .env 文件中的配置项,确保它们与你的实际环境匹配。你可能需要将 .env.example 中的任何新变量添加到你的 .env 文件中,并更新任何已更改的值。

访问 Dify

访问管理员初始化页面以设置管理员账户:
# 本地环境
http://localhost/install

# 服务器环境
http://your_server_ip/install
Dify Web 界面地址:
# 本地环境
http://localhost

# 服务器环境
http://your_server_ip

自定义 Dify

直接编辑你的 .env 文件中的环境变量值。然后,使用以下命令重启 Dify:
docker compose down
docker compose up -d
完整的带注释环境变量集合可在 docker/.env.example 中找到。详细说明请参考 环境变量

了解更多

如果你有任何问题,请参阅 常见问题解答