Browse Source

完善适配NPU

何文松 3 weeks ago
parent
commit
bbdcf16906
1 changed files with 16 additions and 5 deletions
  1. 16 5
      start_api_in_container.sh

+ 16 - 5
start_api_in_container.sh

@@ -1,13 +1,24 @@
-#!/usr/bin/env bash
+#!/usr/bin/env sh
 # 在 Docker 容器内后台启动 pdf_converter_v2 API 服务,并写日志
-# 使用:在 Clerk2.5 或 pdf_converter_v2 下执行 bash pdf_converter_v2/scripts/start_api_in_container.sh
-# 工作目录:脚本会自动进入 pdf_converter_v2 所在目录
+# 使用:在 Clerk2.5 根目录执行 sh start_api_in_container.sh,或在 pdf_converter_v2 下执行 sh scripts/start_api_in_container.sh
+# 工作目录:脚本会自动进入 pdf_converter_v2 所在目录(含 api_server.py)
 # 日志:默认 $CLERK_ROOT/logs/pdf-converter-v2-api.log,可通过 PDF_CONVERTER_API_LOG 覆盖
 # 端口:默认 4214,可通过 PDF_CONVERTER_API_PORT 覆盖
 
 set -e
-SCRIPT_DIR="$(cd "$(dirname "${BASH_SOURCE[0]}")" && pwd)"
-PROJECT_ROOT="$(cd "$SCRIPT_DIR/.." && pwd)"
+# 兼容 sh/bash:用 $0 取脚本所在目录(sh 下无 BASH_SOURCE)
+SCRIPT_DIR="$(cd "$(dirname "$0")" && pwd)"
+# 若脚本在 pdf_converter_v2/scripts/ 下,则上一级即 pdf_converter_v2;若在 Clerk2.5 根下,则用 Clerk2.5/pdf_converter_v2
+if [ -f "$SCRIPT_DIR/../api_server.py" ]; then
+  PROJECT_ROOT="$(cd "$SCRIPT_DIR/.." && pwd)"
+else
+  if [ -f "$SCRIPT_DIR/pdf_converter_v2/api_server.py" ]; then
+    PROJECT_ROOT="$SCRIPT_DIR/pdf_converter_v2"
+  else
+    echo "错误: 未找到 api_server.py,请从 Clerk2.5 或 pdf_converter_v2 目录执行本脚本" >&2
+    exit 1
+  fi
+fi
 CLERK_ROOT="${CLERK_ROOT:-$(cd "$PROJECT_ROOT/.." 2>/dev/null && pwd || echo "$PROJECT_ROOT")}"
 PORT="${PDF_CONVERTER_API_PORT:-4214}"
 LOG_DIR="${CLERK_ROOT}/logs"