deploy: split models and resources, add resources_dir to agent config

This commit is contained in:
tian 2026-05-06 13:51:19 +08:00
parent 4dd0335e55
commit c5f3e1a009
2 changed files with 22 additions and 4 deletions

Binary file not shown.

View File

@ -290,11 +290,24 @@ cmd_install_media_server() {
echo -e "${GREEN}${NC} 已复制 web 静态文件 ($WEB_FILES 个文件)" echo -e "${GREEN}${NC} 已复制 web 静态文件 ($WEB_FILES 个文件)"
fi fi
# 复制模型文件(包括 .rknn 模型和 .db 人脸库 # 复制模型文件(仅 .rknn
if [ -d "$PROJECT_DIR/models" ]; then if [ -d "$PROJECT_DIR/models" ]; then
cp -r "$PROJECT_DIR/models"/* "$INSTALL_DIR/models/" 2>/dev/null || true mkdir -p "$INSTALL_DIR/models"
MODEL_COUNT=$(find "$INSTALL_DIR/models" -type f \( -name "*.rknn" -o -name "*.db" \) | wc -l) if ls "$PROJECT_DIR"/models/*.rknn 1>/dev/null 2>&1; then
echo -e "${GREEN}${NC} 已复制模型文件 ($MODEL_COUNT 个模型/人脸库)" cp "$PROJECT_DIR"/models/*.rknn "$INSTALL_DIR/models/" 2>/dev/null || true
fi
MODEL_COUNT=$(find "$INSTALL_DIR/models" -type f -name "*.rknn" | wc -l)
echo -e "${GREEN}${NC} 已复制模型文件 ($MODEL_COUNT 个)"
fi
# 复制资源文件(.db 人脸库等)
if [ -d "$PROJECT_DIR/models" ]; then
mkdir -p "$INSTALL_DIR/resources/face_gallery"
if ls "$PROJECT_DIR"/models/*.db 1>/dev/null 2>&1; then
cp "$PROJECT_DIR"/models/*.db "$INSTALL_DIR/resources/face_gallery/" 2>/dev/null || true
fi
RES_COUNT=$(find "$INSTALL_DIR/resources" -type f -name "*.db" | wc -l)
echo -e "${GREEN}${NC} 已复制资源文件 ($RES_COUNT 个)"
fi fi
# 选择并复制配置文件 # 选择并复制配置文件
@ -410,6 +423,10 @@ def fix_path(path):
if not path or not isinstance(path, str): if not path or not isinstance(path, str):
return path return path
# 人脸库/资源文件 -> 安装目录的 resources
if '.db' in path:
return os.path.join(install_dir, 'resources', 'face_gallery', os.path.basename(path))
# 模型路径 -> 安装目录的 models # 模型路径 -> 安装目录的 models
if 'third_party/rknpu2' in path or '.rknn' in path: if 'third_party/rknpu2' in path or '.rknn' in path:
return os.path.join(install_dir, 'models', os.path.basename(path)) return os.path.join(install_dir, 'models', os.path.basename(path))
@ -538,6 +555,7 @@ cmd_install_agent() {
"device_name": "rk3588_$(hostname)", "device_name": "rk3588_$(hostname)",
"device_id_path": "/var/lib/rk3588-agent/device_id", "device_id_path": "/var/lib/rk3588-agent/device_id",
"models_dir": "$INSTALL_DIR/models", "models_dir": "$INSTALL_DIR/models",
"resources_dir": "$INSTALL_DIR/resources",
"max_upload_mb": 200, "max_upload_mb": 200,
"config_path": "$INSTALL_DIR/etc/media-server.json", "config_path": "$INSTALL_DIR/etc/media-server.json",
"media_server_process": { "media_server_process": {