File size: 1,306 Bytes
2c99b34
72c241b
2c99b34
72c241b
522b1db
72c241b
522b1db
72c241b
 
 
 
 
 
 
 
 
 
 
 
 
 
 
522b1db
72c241b
 
 
 
 
 
 
 
 
604ef32
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
#!/usr/bin/env sh
set -euo pipefail

# --------- 诊断输出(简短,不泄露敏感信息) ---------
echo "[diag] id: $(id)"
echo "[diag] PORT=${PORT:-7860}  DRIVER=${DATABASE_DRIVER:-sqlite}"

# --------- 一次性迁移开关 ---------
# 在 HF 的 Secrets 里设置:
#   MIGRATE_KEYS_ARGS=--to sk_your_new_32+_chars_key
# 或 MIGRATE_KEYS_ARGS=--from old_key
# 或 MIGRATE_KEYS_ARGS=--from old_key --to new_key
# 然后重启 Space;迁移完成后**删除** MIGRATE_KEYS_ARGS 并再重启一次恢复服务。
if [ "${MIGRATE_KEYS_ARGS:-}" != "" ]; then
  echo "[migrate] running: /app/gpt-load migrate-keys ${MIGRATE_KEYS_ARGS}"
  # 让带空格/引号的参数被正确拆分
  # shellcheck disable=SC2086
  set -- ${MIGRATE_KEYS_ARGS}
  /app/gpt-load migrate-keys "$@"
  echo "[migrate] done. (remove MIGRATE_KEYS_ARGS and restart to run server)"
  exit 0
fi

# --------- SQLite 目录兜底(你现在用 Postgres 可忽略) ---------
if [ "${DATABASE_DRIVER:-sqlite}" = "sqlite" ]; then
  DB_PATH="${DATABASE_DSN:-/app/data/gpt-load.db}"
  DB_DIR="$(dirname "$DB_PATH")"
  # /app 在 Dockerfile 中已设置为 root 组可写(gid=0),HF 运行 gid=0
  mkdir -p "$DB_DIR" || true
fi

# --------- 直接启动应用(应用内部会读取 PORT=7860) ---------
exec /app/gpt-load