安装与部署
Dify 官方推荐使用 Docker Compose 部署,一条命令拉起包括 Web 前端、API 服务、Worker、数据库、向量库、Redis 在内的完整栈。本章带你从零跑起一个本地 Dify 实例。
1. 环境准备
开始前确认本机具备:
- Docker ≥ 20.10,且已安装 Docker Compose v2(
docker compose version可查) - 可用内存建议 ≥ 4GB(向量库与模型推理较吃内存)
- 端口
80、443、5432、6379未被占用
⚠️端口冲突最常见
启动失败先看日志 docker compose logs。若提示端口被占用,多半是本地已跑着 PostgreSQL(5432) 或 Redis(6379),可在 .env 中修改映射端口。
2. 拉取并启动
# 克隆官方仓库(或下载 release 的源码包)
git clone https://github.com/langgenius/dify.git
cd dify/docker
# 复制环境变量模板
cp .env.example .env
# 一键启动(后台运行)
docker compose up -d启动后等待约 1 分钟,容器状态应为 healthy:
docker compose ps
# 期望看到 api / web / db / redis / weaviate(或 qdrant) 等均为 running/healthy3. 访问控制台
默认通过 80 端口访问:
http://localhost/install首次访问会进入初始化引导:设置管理员邮箱、用户名与密码,之后即可登录主控制台。
💡改端口很简单
若 80 端口要留给别的程序,编辑 .env 设置 EXPOSE_NGINX_PORT=8080,再 docker compose up -d 重启,访问 http://localhost:8080。
4. 关键环境变量
Dify 通过 .env 控制行为,常用项如下:
# --- 服务暴露 ---
EXPOSE_NGINX_PORT=80
EXPOSE_NGINX_SSL_PORT=443
# --- 安全密钥(生产务必改!)---
SECRET_KEY=请换成随机长字符串
INIT_PASSWORD=管理员初始密码(仅首次生效)
# --- 向量数据库选型 ---
VECTOR_STORE=weaviate # 可选 weaviate / qdrant / milvus / pgvector
# --- 文件上传限制 ---
UPLOAD_FILE_SIZE_LIMIT=15 # 单位 MB
# --- 模型服务商密钥(也可在 UI 里配)---
OPENAI_API_KEY=sk-xxx⚠️SECRET_KEY 不能丢
SECRET_KEY 用于加密会话与敏感信息。一旦设置并写入数据后不要随意更换,否则已加密内容无法解密。生产环境用强随机值。
5. 升级与停止
# 升级:拉取最新镜像后重启
docker compose pull
docker compose up -d
# 停止(保留数据卷)
docker compose down
# 停止并清空所有数据(危险!)
docker compose down -v数据持久化在 Docker 卷中(PostgreSQL、向量库),默认 docker compose down 不会删除,可放心重启。
小结
- 用官方
docker/docker-compose.yml一键拉起完整栈 - 首访
/install完成管理员初始化 - 通过
.env调整端口、密钥、向量库与模型 Key SECRET_KEY设置后勿改;升级用pull+up -d- 下一步:理解工作区与应用等核心概念 →