第 2 期:极速安装 — Docker Compose 一键部署 Dify

Updated on 4/6/2026

[Translation Pending]\n\n## 系统要求

在开始之前,确认你的主机满足以下最低要求:

一键部署流程

sequenceDiagram
    participant U as 用户
    participant D as Docker Compose
    participant API as Dify API (Flask)
    participant Web as Dify Web (Next.js)
    participant PG as PostgreSQL
    participant Redis as Redis
    participant Worker as Celery Worker

    U->>D: docker compose up -d
    D->>PG: 启动数据库
    D->>Redis: 启动缓存
    D->>API: 启动 API 服务 (端口 5001)
    D->>Web: 启动前端 (端口 3000)
    D->>Worker: 启动异步任务
    U->>Web: 访问 http://localhost/install
    Web->>API: 初始化请求
    API->>PG: 创建表结构 & 管理员账号

步骤一:克隆并配置

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

# 复制环境变量模板
cp .env.example .env

步骤二:关键环境变量解读

# .env 核心配置项

# === 安全 ===
SECRET_KEY=sk-your-random-secret-key-here  # 必改!JWT 签名密钥

# === 数据库 ===
DB_USERNAME=postgres
DB_PASSWORD=difyai123456       # 生产环境务必修改
DB_HOST=db
DB_PORT=5432
DB_DATABASE=dify

# === Redis ===
REDIS_HOST=redis
REDIS_PORT=6379
REDIS_PASSWORD=difyai123456    # 生产环境务必修改

# === 向量数据库 (默认 Weaviate) ===
VECTOR_STORE=weaviate
WEAVIATE_ENDPOINT=http://weaviate:8080

# === 文件存储 ===
STORAGE_TYPE=local             # 可选: local, s3, azure-blob
STORAGE_LOCAL_PATH=storage

步骤三:启动服务

# 最期待的一个命令
docker compose up -d

# 查看所有容器状态
docker compose ps

# 期望输出:
# NAME                STATUS
# dify-api            Up
# dify-worker         Up
# dify-web            Up
# dify-db             Up
# dify-redis          Up
# dify-weaviate       Up
# dify-nginx          Up

步骤四:初始化

打开浏览器访问 http://localhost/install,创建管理员账号即可开始使用。

容器架构详解

graph LR
    subgraph Docker Network
        Nginx[Nginx :80/:443] --> Web[Web :3000]
        Nginx --> API[API :5001]
        API --> PG[(PostgreSQL :5432)]
        API --> Redis[(Redis :6379)]
        API --> Weaviate[(Weaviate :8080)]
        API --> Worker[Celery Worker]
        Worker --> PG
        Worker --> Redis
    end
    
    User[用户浏览器] --> Nginx

常见故障排查

# 查看 API 日志
docker compose logs dify-api --tail 100

# 查看 Worker 日志(异步任务报错通常在这里)
docker compose logs dify-worker --tail 100

# 重启单个服务
docker compose restart dify-api

# 完整重启(保留数据)
docker compose down && docker compose up -d

# 清除所有数据重来(危险!)
docker compose down -v