后端与基础服务部署
后端部署
BladeX-AI-Pro 以 blade-api 启动模块装配业务和引擎。部署需要准备数据库、Redis、文件存储与认证配置;知识和媒体能力按业务另配相应服务。
一、数据库与配置
空库按 后端服务启动 的顺序导入 01、02、03 三份脚本。环境配置与启动 profile 保持一致,数据库地址、Redis、对象存储和模型服务均从后端运行环境验证。
| 配置 | 核对内容 |
|---|---|
| 数据库 | 连接、字符集、初始化表与账号权限 |
| Redis | 地址、认证、数据库编号 |
| 文件存储 | S3 端点、桶、凭证与公开/签名资源访问 |
| 认证 | 令牌签名、SM2 公钥与私钥 |
| AI 能力 | 模型目录、向量库、媒体处理程序 |
生产配置
使用 prod 环境并完成初始管理员密码配置。前后端使用对应的 SM2 公钥;后端私钥和令牌签名不随前端产物发布。
二、JAR 运行
在构建环境生成 blade-service/blade-api/target/blade-api.jar,将产物和目标配置交付运行环境:
java --add-opens java.base/java.lang=ALL-UNNAMED \
--add-opens java.base/java.lang.reflect=ALL-UNNAMED \
-jar blade-api.jar \
--spring.profiles.active=prod外部配置与环境变量按 配置加载与环境管理 注入。使用进程管理工具保留启动参数、日志位置与退出状态。
三、镜像构建
镜像定义位于 blade-service/blade-api/Dockerfile。基础镜像为 bladex/alpine-java:openjdk21_cn_slim,网络受限时可改用文件注释中的阿里云镜像 registry.cn-hangzhou.aliyuncs.com/bladex-repo/alpine-java:openjdk21_cn_slim。构建时将 target/blade-api.jar 复制为 /blade/app.jar,容器内服务端口为 80;镜像缺省以 --spring.profiles.active=test 启动,部署时在启动命令中指定目标 profile。
3.1 使用 Docker 构建
在工程根目录构建 JAR,再以 blade-api 模块目录为构建上下文生成镜像:
mvn clean package -DskipTests
docker build -t blade/blade-api:2.0.0.RELEASE blade-service/blade-api3.2 使用 Maven 插件构建与推送
根 POM 的 pluginManagement 配置了 fabric8 docker-maven-plugin(0.42.0)。镜像名为 ${docker.namespace}/${project.build.finalName}:${project.version},即 blade/blade-api:2.0.0.RELEASE,构建文件取模块目录下的 Dockerfile。仓库参数位于根 POM 的「工程部署」段:
| 属性 | 工程默认值 | 说明 |
|---|---|---|
docker.registry.url | 192.168.0.188 | 镜像仓库地址 |
docker.namespace | blade | 镜像命名空间 |
docker.username、docker.password | 示例账号 | 镜像仓库凭证 |
替换仓库参数
192.168.0.188 与示例账号是工程默认值,推送前替换为实际的镜像仓库与凭证。凭证可在命令行以 -Ddocker.username=<账号> -Ddocker.password=<密码> 传入,不写入代码仓库。
插件未绑定到 blade-api 的构建生命周期,需要显式执行。docker:build 会解析模块依赖,先将工程安装到本地仓库:
mvn clean install -DskipTests
mvn -pl blade-service/blade-api docker:build docker:push3.3 音视频处理
Dockerfile 中的 ffmpeg 安装行默认注释:
# RUN apk add --no-cache ffmpeg使用创作工坊的视频合成、配音整轨、会议录像导入与录音转码时,取消注释后重新构建镜像。blade-ai.studio.ffmpeg、blade-ai.studio.ffprobe 缺省按命令名查找可执行文件,安装在其他位置时改为绝对路径;ffmpeg 未编入 libass 时,字幕只交付 SRT。中文字体由基础镜像的 cn 系列提供,与工坊画布同款的字体放入 blade-ai.studio.fonts-dir 指定的目录,配置项见 配置加载与环境管理。
四、容器部署
当前工程提供 doc/script/docker/app/docker-compose.yaml,包含后端、MySQL、Redis、RustFS 与 Nginx 示例。后端镜像为 blade/blade-api:2.0.0.RELEASE,构建方式见上一节。
- 核对
.env、数据库初始化文件和目标环境配置。 - 调整示例账号、密码、端口和数据挂载位置。
- 为对象存储数据目录设置容器所需的访问权限。
- 启动后检查服务日志与数据库、Redis 和文件存储连接。
docker compose up -d
docker compose ps
docker compose logs --tail=100 blade-ai向量库另行部署
示例不包含向量库,其中的 Redis 7.2.5 用于缓存。知识检索需另行部署 Milvus、PGVector、Qdrant 等向量库,在向量库管理中登记后端可访问的地址;使用 Redis 作为向量库时,选用包含查询引擎的 Redis 8 或 Redis Stack。各类型的连接要求见 向量库。
示例中的 Nginx 以 nginx/html 作为站点根目录,并将 /api/ 代理到后端。Saber 宿主、AI 联邦资源与分享入口按 宿主与 AI 业务部署 和 分享与嵌入部署 发布。
五、业务核验
从宿主完成登录,检查 AI 菜单和资源列表,运行一个验证用应用并查看记录。知识检索核对向量连接与召回;创作按已配置用途检查模型与媒体能力。
本章以 Pro 单体工程为准;Cloud 工程的服务注册、配置中心与网关部署,按对应 Cloud 工程的部署说明执行。
