系统部署指南(Docker Compose)
本指南帮助你使用一键安装脚本,通过 Docker Compose 部署 BK‑Lite 社区版,并按需启用 OpsPilot 和本地模型推理服务。
1. 环境要求
- Docker >= 20.10.23
- Docker Compose >= v2.27.0
- 智能版:在基础版之上,由于启用了 VLLM 内置的 OCR、Embedding 和 Rerank 模型,需要配备 Nvidia GPU,且可用显存 > 8 GB
2. 在线安装(快速开始)
2.1 基础版(首次默认不启用 OpsPilot)
首次安装默认不启用 OpsPilot、MLOps、MLflow,也不部署 vLLM:
curl -fLsS https://bklite.ai/install.run | bash -s --
2.2 启用 OpsPilot(对接已有模型服务)
如需使用 OpsPilot,在安装命令中增加 --opspilot:
curl -fLsS https://bklite.ai/install.run | bash -s -- --opspilot
社区版一键脚本中的 --opspilot 是组合开关,会同时启用 OpsPilot、MLOps、MLflow。该命令不部署 vLLM,无需为本地模型推理配备 GPU;安装后需在 OpsPilot 中配置已有私有模型或公有云模型服务,知识库等功能还需按需配置 Embedding、Rerank 等模型。
2.3 智能版(OpsPilot 与本地模型环境)
需要在本机部署 OCR、Embedding 和 Rerank 模型时,同时增加 --opspilot --vllm。vLLM 配套模型不包含 LLM 大语言模型,仍需另行配置 LLM 服务:
curl -fLsS https://bklite.ai/install.run | bash -s -- --opspilot --vllm
该方式需要满足前述 Nvidia GPU 和显存要求。--vllm 仅启用本地模型推理服务,不会自动启用 OpsPilot。
2.4 已有社区版补启用 OpsPilot
在现有部署目录执行(默认目录为 /opt/bk-lite):
cd /opt/bk-lite
bash bootstrap.sh --opspilot
此命令同样会启用 OpsPilot、MLOps、MLflow,并重新部署相关服务。离线环境须先按下文准备包含 --opspilot 所需镜像的离线包。
重跑安装会复用已保存的配置;不传组件开关时沿用已有组件状态。不要为补启用组件添加
--clean,该参数会清理现有数据。
3. 离线安装
当目标服务器无法访问外网时,先在一台 可联网 且满足版本要求的机器上制作离线包,再拷贝到目标服务器进行安装。
3.1 制作离线包(联网机器执行)
根据目标环境选择一种打包方式:
- 基础版(不启用 OpsPilot、MLOps、MLflow、vLLM):
curl -fLsS https://bklite.ai/install.run | bash -s -- package
- 启用 OpsPilot(同时启用 MLOps、MLflow,对接已有模型服务):
curl -fLsS https://bklite.ai/install.run | bash -s -- package --opspilot
- 智能版(OpsPilot 与本地 OCR、Embedding、Rerank 模型,不含 LLM):
curl -fLsS https://bklite.ai/install.run | bash -s -- package --opspilot --vllm
执行完成后,安装文件和镜像保存在 /opt/bk-lite 目录,脚本会自动生成 /opt/bklite-offline.tar.gz。package --opspilot 会额外打包 MLflow 镜像;目标机安装时仍需显式传入相应组件开关。
3.2 打包与分发离线包(联网机器执行)
将生成的 /opt/bklite-offline.tar.gz 拷贝到目标服务器(离线环境)。
3.3 在目标服务器安装(离线机器执行)
解压离线包并进入部署目录:
sudo mkdir -p /opt/bk-lite
sudo tar -xzvf bklite-offline.tar.gz -C /opt/bk-lite
cd /opt/bk-lite
export OFFLINE=true
在同一终端中,按打包时选择的组件执行以下对应的一条命令:
# 基础版
bash bootstrap.sh
# 或:启用 OpsPilot、MLOps、MLflow,对接已有模型服务
bash bootstrap.sh --opspilot
# 或:智能版,另启用本地 OCR、Embedding、Rerank 模型(需要 GPU)
bash bootstrap.sh --opspilot --vllm
4. 卸载
如需完全卸载系统:
curl -sSL https://bklite.ai/uninstall.sh | bash -s -
常见问题
- 安装可以重复执行吗? 可以。重跑会复用已保存的配置,并重新部署相关服务;不传组件开关时保留已有状态。
--clean会清理现有数据,不应用于补启用组件。 - 没有配置 MIRROR 可以安装吗? 可以,但在国内网络环境下建议配置以提升下载速度与稳定性。
- 没有 GPU,能否使用 OpsPilot? 可以。安装时增加
--opspilot,不加--vllm,然后在 OpsPilot 中配置已有私有模型或公有云模型服务;所需模型类型取决于使用的功能。基础版首次安装默认不启用 OpsPilot。 - 访问入口可以使用域名吗? 可以。在交互式安装时输入
HOST_IP处可填写 IPv4 地址或域名(如bklite.example.com),脚本会按形态自动写入证书 SAN:- 填 IP → 证书 SAN 包含
IP:<your-ip>,行为同旧版本。 - 填域名 → SAN 包含
DNS:<your-domain>,并尽力解析对应 A 记录追加IP:<resolved>(解析失败仅给出警告,不阻断签发)。 - 域名必须满足 RFC 1123 主机名字符集(字母、数字、
-、.),含下划线或空格等非法字符会直接报错退出。 - 注意:证书在首次部署时签发,后续变更
HOST_IP不会自动重签——需要先清理conf/certs/后重跑脚本。
- 填 IP → 证书 SAN 包含