1. 下载源码

git clone https://github.com/langgenius/dify.git

2. Docker Compose 部署

2.1 进入 docker 目录并配置环境变量

cd dify
cd docker
cp .env.example .env

2.2 修改访问端口

编辑 .env 文件,修改 Nginx 暴露端口(避免与宿主机上已有服务冲突):

vim .env

找到并修改以下配置:

EXPOSE_NGINX_PORT=8888
EXPOSE_NGINX_SSL_PORT=8443

默认是 80443,如果已被占用可改为其他端口。

2.3 配置域名地址

编辑 .env 文件,设置 Dify 的 Web 和 API 访问地址:

CONSOLE_API_URL=https://dify.example.com
CONSOLE_WEB_URL=https://dify.example.com
SERVICE_API_URL=https://dify.example.com
APP_API_URL=https://dify.example.com
APP_WEB_URL=https://dify.example.com

dify.example.com 替换为你的实际域名。

2.4 启动服务

docker compose up -d

启动后包含以下容器:

容器 用途
dify-nginx 反向代理,对外暴露 Web 和 API
dify-api Dify 后端 API 服务
dify-worker 异步任务处理
dify-web 前端页面
db PostgreSQL 数据库
redis 缓存和消息队列
weaviate 向量数据库(用于 RAG 知识库)

3. Nginx 反向代理设置

如果 Dify 部署在内网服务器,需要通过 Nginx 反向代理暴露到公网:

server {
    listen 80;
    server_name dify.example.com;

    # 强制 HTTPS 跳转(推荐)
    return 301 https://$host$request_uri;
}

server {
    listen 443 ssl http2;
    server_name dify.example.com;

    ssl_certificate     /path/to/ssl/cert.pem;
    ssl_certificate_key /path/to/ssl/key.pem;

    location / {
        proxy_pass http://192.168.1.100:8888;
        proxy_set_header Host $host;
        proxy_set_header X-Real-IP $remote_addr;
        proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
        proxy_set_header X-Forwarded-Proto $scheme;

        # WebSocket 支持
        proxy_http_version 1.1;
        proxy_set_header Upgrade $http_upgrade;
        proxy_set_header Connection "upgrade";
    }

    # API 接口代理
    location /api {
        proxy_pass http://192.168.1.100:8888;
        proxy_set_header Host $host;
        proxy_set_header X-Real-IP $remote_addr;
        proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
        proxy_set_header X-Forwarded-Proto $scheme;
    }
}

dify.example.com 替换为你的实际域名,192.168.1.100 替换为 Dify 服务器的内网 IP。


4. 首次使用

部署完成后,浏览器访问 https://dify.example.com,进入初始化页面:

  1. 设置管理员账号 — 输入邮箱和密码完成注册
  2. 创建应用 — 选择应用类型(聊天助手、文本生成、Agent、工作流等)
  3. 配置模型 — 在设置中添加 LLM 的 API Key(如 OpenAI、DeepSeek 等)

5. 常用操作

# 查看容器状态
docker compose ps

# 查看日志
docker compose logs -f

# 重启服务
docker compose restart

# 更新 Dify
git pull
docker compose down
docker compose up -d

# 停止服务
docker compose down

6. 注意事项

注意点 说明
端口冲突 检查 80/443 是否被占用,在 .env 中修改 EXPOSE_NGINX_PORT
域名解析 确保域名已解析到服务器 IP
HTTPS 证书 生产环境必须配置 SSL 证书(推荐 Let’s Encrypt / acme.sh)
向量数据库 Weaviate 用于知识库,首次启动会自动创建
数据持久化 Docker volumes 存储在 /var/lib/docker/volumes/,备份前需确认
资源要求 最低 2C4G,推荐 4C8G(含向量数据库和模型推理)

Professional English Terms

Term Meaning
Dify 开源 LLM 应用开发平台,支持可视化编排 RAG、Agent、工作流
Docker Compose 多容器 Docker 应用编排工具
Reverse Proxy 反向代理,将外部请求转发到内部服务
Vector Database 向量数据库(Weaviate),存储文本嵌入向量用于语义检索
RAG (Retrieval-Augmented Generation) 检索增强生成,结合知识库和大模型回答问题