Skip to main content

Deployment Guide (Docker Compose)

This guide helps you deploy BK-Lite Community Edition with Docker Compose using the one-click installation script, and optionally enable OpsPilot and local model inference services.


1. Requirements​

  • Docker >= 20.10.23
  • Docker Compose >= v2.27.0
  • AI Edition: The local OCR, Embedding, and Rerank models served by vLLM require an Nvidia GPU with > 8 GB of available VRAM.

2. Online Installation (Quick Start)​

2.1 Standard Edition (OpsPilot Disabled by Default on First Install)​

A fresh installation does not enable OpsPilot, MLOps, or MLflow, and does not deploy vLLM:

curl -fLsS https://bklite.ai/install.run | bash -s --

2.2 Enable OpsPilot (Connect to Existing Model Services)​

To use OpsPilot, add --opspilot to the installation command:

curl -fLsS https://bklite.ai/install.run | bash -s -- --opspilot

In the Community Edition installation script, --opspilot is a grouped switch that enables OpsPilot, MLOps, and MLflow together. This command does not deploy vLLM, so no GPU is required for local model inference. After installation, configure your existing private or public cloud model services in OpsPilot. Features such as knowledge bases also require appropriate Embedding, Rerank, or other models as needed.

2.3 AI Edition (OpsPilot with Local Model Services)​

To deploy OCR, Embedding, and Rerank models locally, add both --opspilot --vllm. The models bundled with vLLM do not include an LLM; you still need to configure an LLM service separately:

curl -fLsS https://bklite.ai/install.run | bash -s -- --opspilot --vllm

This option requires the Nvidia GPU and VRAM specified above. --vllm only enables local model inference services; it does not automatically enable OpsPilot.

2.4 Enable OpsPilot on an Existing Community Installation​

Run the following from your existing deployment directory (the default is /opt/bk-lite):

cd /opt/bk-lite
bash bootstrap.sh --opspilot

This command also enables OpsPilot, MLOps, and MLflow, and redeploys the related services. For offline environments, first prepare an offline package containing the images required by --opspilot, as described below.

Rerunning the installer reuses saved configuration. Existing component states are preserved when no component switches are passed. Do not add --clean to enable additional components: it deletes existing data.


3. Offline Installation​

When the target server cannot access the internet, first create an offline package on an internet-connected machine that meets the version requirements, then transfer it to the target server for installation.

3.1 Create Offline Package (On Internet-Connected Machine)​

Choose one packaging option for your target environment:

  • Standard Edition (without OpsPilot, MLOps, MLflow, or vLLM):
curl -fLsS https://bklite.ai/install.run | bash -s -- package
  • OpsPilot (with MLOps and MLflow, connecting to existing model services):
curl -fLsS https://bklite.ai/install.run | bash -s -- package --opspilot
  • AI Edition (OpsPilot with local OCR, Embedding, and Rerank models; no LLM included):
curl -fLsS https://bklite.ai/install.run | bash -s -- package --opspilot --vllm

Installation files and images are saved in /opt/bk-lite, and the script automatically creates /opt/bklite-offline.tar.gz. package --opspilot includes the additional MLflow image. You must still pass the corresponding component switches when installing on the target server.

3.2 Package and Distribute (On Internet-Connected Machine)​

Copy /opt/bklite-offline.tar.gz to the target server (offline environment).

3.3 Install on Target Server (On Offline Machine)​

Extract the offline package and enter the deployment directory:

sudo mkdir -p /opt/bk-lite
sudo tar -xzvf bklite-offline.tar.gz -C /opt/bk-lite
cd /opt/bk-lite
export OFFLINE=true

In the same terminal, run one of the following commands matching the components selected when creating the package:

# Standard Edition
bash bootstrap.sh

# Or: enable OpsPilot, MLOps, and MLflow, connecting to existing model services
bash bootstrap.sh --opspilot

# Or: AI Edition, also enabling local OCR, Embedding, and Rerank models (requires GPU)
bash bootstrap.sh --opspilot --vllm

4. Uninstallation​

To completely uninstall the system:

curl -sSL https://bklite.ai/uninstall.sh | bash -s -

FAQ​

  • Can the installation be run multiple times? Yes. Rerunning reuses saved configuration and redeploys related services. Existing component states are preserved when no component switches are passed. --clean deletes existing data and must not be used to enable additional components.
  • Can I install without configuring a MIRROR? Yes, but configuring one is recommended in China's network environment to improve download speed and stability.
  • Can I use OpsPilot without a GPU? Yes. Add --opspilot without --vllm, then configure existing private or public cloud model services in OpsPilot. The required model types depend on the features you use. OpsPilot is disabled by default on a fresh Standard Edition installation.