跳转到主要内容

Documentation Index

Fetch the complete documentation index at: https://docs.dify.ai/llms.txt

Use this file to discover all available pages before exploring further.

⚠️ 本文档由 AI 自动翻译。如有任何不准确之处,请参考 英文原版
常见部署问题,详见 常见问题解答

部署前准备

确保机器满足以下最低系统要求。

硬件

  • CPU >= 2 Core
  • RAM >= 4 GiB

软件

操作系统所需软件说明
macOS 10.14 或更高版本Docker Desktop(含 Docker Compose 2.24.0+)Docker 虚拟机至少配置 2 个虚拟 CPU 和 8 GiB 内存。

安装说明详见 Mac 版 Docker Desktop 安装指南
Linux 发行版Docker 19.03+

Docker Compose 2.24.0+
安装说明详见 Docker 引擎安装指南Docker Compose 安装指南
Windows(启用 WSL 2)Docker Desktop(含 Docker Compose 2.24.0+)源代码和绑定到 Linux 容器的数据建议存储在 Linux 文件系统中,而非 Windows。

安装说明详见 Windows 版 Docker Desktop 安装指南

部署并启动

1

克隆 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
2

启动 Dify

  1. 进入 Dify 源代码中的 docker 目录:
    cd dify/docker
    
  2. 复制必要的环境配置文件:
    cp .env.example .env
    
    如需自定义部署,参见 自定义
  3. 启动容器:
    Dify 需要 Docker Compose 2.24.0 或更高版本。运行 docker compose version 确认版本。
    docker compose up -d
    
    启动以下容器:
    • 5 个核心服务:apiworkerworker_beatwebplugin_daemon
    • 6 个依赖组件:weaviatedb_postgresredisnginxssrf_proxysandbox
    应看到类似以下的输出,显示每个容器的状态和启动时间:
    [+] 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 
    
  4. 验证所有容器是否成功运行:
    docker compose ps
    
    应看到类似以下的输出,每个容器的状态应为 Uphealthy
    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
    

访问

  1. 打开管理员初始化页面,设置管理员账户:
    # 本地环境
    http://localhost/install
    
    # 服务器环境
    http://your_server_ip/install
    
  2. 完成管理员账户设置后,在以下地址登录 Dify:
    # 本地环境
    http://localhost  
    
    # 服务器环境
    http://your_server_ip
    

自定义

如需自定义部署,编辑相关文件中的环境变量,然后重启 Dify。
1

编辑环境变量

  • 必要的启动值 位于 docker/.env 文件中(部署时从 docker/.env.example 复制创建)。直接编辑即可。
  • 可选或特定提供商的设置docker/envs/ 下有对应模板。要覆盖默认值,复制相应模板(去掉 .example 后缀),然后编辑副本。 例如:
    cd dify/docker
    cp envs/vectorstores/milvus.env.example envs/vectorstores/milvus.env
    
docker/.env 中的值优先于任何 docker/envs/*.env 文件中的值。
所有变量的说明,详见 环境变量
2

重启 Dify

docker compose down
docker compose up -d

升级

不同版本的升级步骤可能有所不同。详见 Releases 页面中提供的目标版本升级指南。
升级后,对照各 .env.example 文件检查对应的 .env,确认是否有新增或变更的变量。