Dify 介绍与离线部署指南

1. Dify 简介

Dify 是当前 AI 领域热门的开源项目之一,旨在帮助开发者快速构建和部署基于大语言模型(LLM)的应用。平台采用模块化设计,集成了 RAG 引擎、可视化 AI 工作流编排以及 Agent 构建等核心能力,原生支持 PDF、PPT 等多种格式文档的解析与向量数据库对接,并可借助阿里云 ACK 等服务实现生产级高可用部署。

用户可以通过 Dify 的图形化界面轻松编排复杂的 AI 流程,并将应用快速推向生产环境。

2. 环境要求

在开始部署前,请确保服务器满足以下最低配置:

  • CPU:≥ 2 核心
  • 内存:≥ 4 GiB
  • Docker:≥ 19.0.3
  • Docker Compose:≥ 2.24.0

本文将以离线环境为例,基于 Dify 1.13.0 版本进行部署。

3. 获取 Dify 源码

从 GitHub 克隆指定版本的 Dify 仓库:

git clone -b 1.13.0 https://github.com/langgenius/dify.git

如果网络受限,也可以直接下载 1.13.0 的源码压缩包,解压后进入项目目录:

cd dify/docker
后文中所有操作默认都在 dify/docker 目录下执行。


4. 修改 Dify 配置

4.1 修改环境变量文件 .env

假设我们希望 Dify 通过本机的 10070 端口访问,且本机 IP 为 192.168.1.100(请替换为实际 IP),需要编辑 .env 文件,修改以下变量:

# 控制台 API 地址
CONSOLE_API_URL=http://192.168.1.100:10070

# 控制台 Web 地址
CONSOLE_WEB_URL=http://192.168.1.100:10070

# 服务 API 地址
SERVICE_API_URL=http://192.168.1.100:10070

# 触发器地址
TRIGGER_URL=http://192.168.1.100:10070

# 应用 Web 地址
APP_WEB_URL=http://192.168.1.100:10070

# Nginx 监听端口
NGINX_PORT=10070

# 上传文件大小限制(根据模型上下文长度设定,例如 Qwen3.5-9B-GPTQ-4bit 建议 128KB)
NGINX_CLIENT_MAX_BODY_SIZE=128k  

4.2 修改 docker-compose.yaml

找到 nginx 服务的 ports 映射,改为

  - "10070:10070"

确保所有与 nginx 相关的端口配置一致,避免内外端口错乱。

五、组件清单(离线镜像列表)

Dify 1.13.0 依赖以下组件(本文基于离线包部署):

组件名 版本
dify-api 1.13.0 / 1.13.3
dify-plugin-daemon 0.5.3 / 0.5.8
dify-sandbox 0.2.12
dify-web 1.13.0 / 1.13.3
nginx 1.30
postgres 15.12
redis 6.2.19
squid latest
weaviate 1.27.0
docker(二进制) 29.4.3
插件(千问适配) langgenius-openai_api_compatible_0.0.49-offline.difypkg

六、离线安装 Docker(若已安装可跳过)

6.1 下载 Docker 二进制包

wget https://download.docker.com/linux/static/stable/x86_64/docker-29.4.3.tgz

6.2 解压并移动

tar -zxvf docker-29.4.3.tgz
cp -r docker/* /usr/bin

6.3 注册为 Systemd 服务

创建 /usr/lib/systemd/system/docker.service,写入以下内容:

[Unit]
Description=Docker Application Container Engine
Documentation=http://docs.docker.com
After=network.target docker.socket

[Service]
Type=notify
EnvironmentFile=/run/flannel/docker
WorkingDirectory=/usr/local/bin
ExecStart=/usr/bin/dockerd \
-H tcp://0.0.0.0:4243 \
-H unix:///var/run/docker.sock \
--selinux-enabled=false \
--log-opt max-size=1g
ExecReload=/bin/kill -s HUP $MAINPID
LimitNOFILE=infinity
LimitNPROC=infinity
LimitCORE=infinity
TimeoutStartSec=0
Delegate=yes
KillMode=process
Restart=on-failure

[Install]
WantedBy=multi-user.target

6.4 启动并设置开机自启

systemctl daemon-reload
systemctl start docker
systemctl enable docker

6.5 验证安装

docker info
docker ps

无报错即表示 Docker 安装成功。

七、配置 Docker Compose

将 docker-compose 二进制文件拷贝到系统 PATH:

cp /path/to/docker-compose /usr/local/bin/
chmod +x /usr/local/bin/docker-compose

八、加载所有依赖镜像

docker load -i dify-api-1.13.0.tar
docker load -i dify-api-1.13.3.tar
docker load -i dify-plugin-daemon.tar
docker load -i dify-plugin-daemon-0.5.3.tar
docker load -i dify-plugin-daemon-0.5.8.tar
docker load -i dify-sandbox-0.2.12.tar
docker load -i dify-web-1.13.0.tar
docker load -i dify-web-1.13.3.tar
docker load -i nginx-1.30.tar
docker load -i postgres-15.12.tar
docker load -i redis-6.2.19.tar
docker load -i squid.tar
docker load -i weaviate-1.27.0.tar

加载完成后,可通过 docker images 检查是否所有镜像已就位。

九、启动 Dify 服务

docker-compose up -d

查看运行状态:

docker-compose ps

如需停止服务:

docker-compose down

至此,Dify 1.13.0 的离线部署全部完成。 你可以即刻开始体验可视化编排大模型应用的乐趣。

Logo

汇聚全球AI编程工具,助力开发者即刻编程。

更多推荐