ForcePilot/docs/latest/advanced/deployment.md
肖泽涛 835f0786b2 fix(graph): 增加知识图谱禁用模式与降级路径
- 新增 disabled graph service,统一图服务不可用时的行为

- 调整知识模块初始化与管理器,支持降级运行

- 更新图相关路由与工具调用逻辑,避免连接失败中断

- 同步部署文档与环境模板说明
2026-02-28 16:59:04 +08:00

2.2 KiB

生产部署指南

本指南介绍了如何在生产环境中部署 Yuxi-Know。

前置要求

  • Docker Engine (v24.0+)
  • Docker Compose (v2.20+)
  • NVIDIA Container Toolkit (如果在生产环境使用 GPU 服务)

注意事项:

  1. 生产环境和开发环境最好是两台独立的机器,不然会存在端口和资源的冲突问题。
  2. 虽然名为“生产环境”,但实际上只是做了一些基本的配置而已,真要上线业务,需要根据实际情况进行调整。
  3. 前端有个调试面板,长按侧边栏触发,生产环境不建议开启。

部署步骤

1. 配置环境变量

为了避免与开发环境的冲突,建议在生产环境中使用 .env.prod 文件。请确保你已经从模板创建了该文件并填写了必要的密钥。

cp .env.template .env.prod

编辑 .env.prod 文件,设置强密码并配置必要的 API 密钥:

  • NEO4J_PASSWORD: 修改默认密码
  • MINIO_ACCESS_KEY / MINIO_SECRET_KEY: 修改默认密钥
  • SILICONFLOW_API_KEY 等模型密钥

如果希望以最小资源模式运行(禁用 LightRAG 和知识图谱),可额外设置:

  • YUXI_ENABLE_LIGHTRAG=false
  • YUXI_ENABLE_KNOWLEDGE_GRAPH=false

2. 启动服务

使用 docker-compose.prod.yml 文件启动生产环境:

# 仅启动核心服务 (CPU 模式)
docker compose -f docker-compose.prod.yml up -d --build

# 启动所有服务 (包含 GPU OCR 服务)
docker compose -f docker-compose.prod.yml --profile all up -d --build

最小资源模式(不启动 Neo4j 图数据库)可使用:

docker compose -f docker-compose.prod.yml up -d --build \
  api worker web postgres redis etcd minio milvus

3. 验证部署

  • Web 访问: http://localhost (直接通过 80 端口访问,无需 :5173)
  • API 健康检查: curl http://localhost/api/system/health

维护与更新

更新代码并重新部署

# 拉取最新代码
git pull

# 重新构建并启动
docker compose -f docker-compose.prod.yml up -d --build

查看日志

# 查看 API 日志
docker logs -f api-prod

# 查看 Nginx 访问日志
docker logs -f web-prod