想象一下,你想让 AI 回答公司内部文档、产品手册、技术资料里的问题,但这些资料 ChatGPT 不知道。你需要一个"智能图书管理员",它能:
RAGFlow 就是这样一个"智能图书管理员"!
RAG = Retrieval Augmented Generation(检索增强生成),简单来说:
传统 AI vs RAG:
使用场景:
完整的使用教程请参考:https://ragflow.io/docs/dev/
为什么要本地部署?
前提条件: 确保你已经安装了 Docker(查看安装教程[1])
# 克隆 RAGFlow 仓库
git clone https://github.com/infiniflow/ragflow.git
# 进入项目目录
cd ragflow/docker作用: 如果默认端口被占用,可以改成其他端口。
文件位置: docker-compose.yml

作用: 避免与 Dify 的 Redis 端口冲突。
文件位置: docker-compose.yml

作用: 根据你的电脑配置调整内存使用。
说明:
文件位置: docker/.env

作用: 根据 CPU 核心数调整,提高处理速度。
建议:
文件位置: docker/entrypoint.sh

启动命令:
# 确保在 ragflow/docker 目录下
docker compose -p ragflow up -d说明:
-p ragflow:项目名称-d:后台运行访问地址: 启动成功后,在浏览器打开 http://localhost 或 http://localhost:你的端口号
首次访问:
adminadmindocker compose -p ragflow ps作用: 查看所有容器是否正常运行。
docker compose -p ragflow restart使用场景: 修改配置后需要重启生效。
docker compose -p ragflow down注意: 这个命令会停止并删除容器,但数据会保留。
什么是反向代理?
让 RAGFlow 可以通过域名(如 rag.yourdomain.com)访问,而不是 IP 地址。
适用场景: 如果你有自己的域名,想让 RAGFlow 更专业、更好记。
Nginx 配置示例:
# 禁用用户注册(可选,防止陌生人注册)
location /v1/user/register {
deny all;
return 403;
}
# 反向代理配置
location ^~ / {
proxy_pass http://127.0.0.1:8012;
proxy_set_header Host $http_host;
proxy_set_header X-Real-IP $remote_addr;
proxy_set_header X-Real-Port $remote_port;
proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
proxy_set_header X-Forwarded-Proto $scheme;
proxy_set_header X-Forwarded-Host $host;
proxy_set_header X-Forwarded-Port $server_port;
proxy_set_header REMOTE-HOST $remote_addr;
proxy_connect_timeout 60s;
proxy_send_timeout 600s;
proxy_read_timeout 600s;
proxy_http_version 1.1;
proxy_set_header Upgrade $http_upgrade;
proxy_set_header Connection $connection_upgrade;
}注意: 把 8012 改成你实际使用的端口。
重要提示: RAGFlow 的所有数据(知识库、文档、配置等)都保存在 Docker volumes 中。
备份方法:
查看 Docker volumes 位置:

备份命令:
# 停止服务
docker compose -p ragflow down
# 备份数据卷
docker run --rm -v ragflow_es_data:/data -v $(pwd):/backup alpine tar czf /backup/ragflow-backup.tar.gz -C /data .
# 重启服务
docker compose -p ragflow up -d恢复数据:
# 停止服务
docker compose -p ragflow down
# 恢复数据卷
docker run --rm -v ragflow_es_data:/data -v $(pwd):/backup alpine sh -c "cd /data && tar xzf /backup/ragflow-backup.tar.gz"
# 重启服务
docker compose -p ragflow up -d什么是 MCP?
MCP (Model Context Protocol) 让 AI 工具(如 Claude Desktop、Windsurf)可以直接调用 RAGFlow 的知识库。
使用场景:

详细教程: https://ragflow.io/docs/dev/launch_mcp_server#launch-from-docker
操作步骤:
docker/docker-compose.yml
配置示例:
# example to setup MCP server
command:
- --enable-mcpserver
- --mcp-host=0.0.0.0
- --mcp-port=9382
- --mcp-base-url=http://127.0.0.1:39004
- --mcp-script-path=/ragflow/mcp/server/server.py
- --mcp-mode=self-host
- --mcp-host-api-key=ragflow-你的API密钥 # 替换成你的API密钥
container_name: ragflow-server
ports:
- ${SVR_HTTP_PORT}:9380
- 8012:80
- 4432:443
- 5678:5678
- 5679:5679
- 39004:9382 # MCP 端口映射(宿主机端口:容器端口)配置说明:
--mcp-host-api-key:填写你的 API 密钥39004:9382:端口映射,左边是外部访问端口,右边是容器内端口docker compose -p ragflow restart通过这篇教程,你应该已经掌握了:
下一步建议:
使用提示:
祝你使用愉快!🎉
[1] 查看安装教程: https://github.com/infiniflow/ragflow/blob/main/README_zh.md#-%E5%90%AF%E5%8A%A8%E6%9C%8D%E5%8A%A1%E5%99%A8
[2] 官方文档: https://ragflow.io/docs/dev/