jxdn123 commited on
Commit
72c241b
·
verified ·
1 Parent(s): 604ef32

Update run.sh

Browse files
Files changed (1) hide show
  1. run.sh +27 -6
run.sh CHANGED
@@ -1,12 +1,33 @@
1
  #!/usr/bin/env sh
2
- set -e
3
 
 
4
  echo "[diag] id: $(id)"
5
- echo "[diag] PORT=${PORT} DRIVER=${DATABASE_DRIVER} DSN=${DATABASE_DSN}"
6
 
7
- # 目录已在镜像里赋好组写权限,这里仅兜底创建
8
- DB_DIR="$(dirname "${DATABASE_DSN:-/app/data/gpt-load.db}")"
9
- mkdir -p "$DB_DIR" || true
 
 
 
 
 
 
 
 
 
 
 
 
10
 
11
- # 直接运行(应用自己监听 $PORT=7860)
 
 
 
 
 
 
 
 
12
  exec /app/gpt-load
 
1
  #!/usr/bin/env sh
2
+ set -euo pipefail
3
 
4
+ # --------- 诊断输出(简短,不泄露敏感信息) ---------
5
  echo "[diag] id: $(id)"
6
+ echo "[diag] PORT=${PORT:-7860} DRIVER=${DATABASE_DRIVER:-sqlite}"
7
 
8
+ # --------- 一次性迁移开关 ---------
9
+ # 在 HF 的 Secrets 里设置:
10
+ # MIGRATE_KEYS_ARGS=--to sk_your_new_32+_chars_key
11
+ # 或 MIGRATE_KEYS_ARGS=--from old_key
12
+ # 或 MIGRATE_KEYS_ARGS=--from old_key --to new_key
13
+ # 然后重启 Space;迁移完成后**删除** MIGRATE_KEYS_ARGS 并再重启一次恢复服务。
14
+ if [ "${MIGRATE_KEYS_ARGS:-}" != "" ]; then
15
+ echo "[migrate] running: /app/gpt-load migrate-keys ${MIGRATE_KEYS_ARGS}"
16
+ # 让带空格/引号的参数被正确拆分
17
+ # shellcheck disable=SC2086
18
+ set -- ${MIGRATE_KEYS_ARGS}
19
+ /app/gpt-load migrate-keys "$@"
20
+ echo "[migrate] done. (remove MIGRATE_KEYS_ARGS and restart to run server)"
21
+ exit 0
22
+ fi
23
 
24
+ # --------- SQLite 目录兜底(你现在用 Postgres 可忽略) ---------
25
+ if [ "${DATABASE_DRIVER:-sqlite}" = "sqlite" ]; then
26
+ DB_PATH="${DATABASE_DSN:-/app/data/gpt-load.db}"
27
+ DB_DIR="$(dirname "$DB_PATH")"
28
+ # /app 在 Dockerfile 中已设置为 root 组可写(gid=0),HF 运行 gid=0
29
+ mkdir -p "$DB_DIR" || true
30
+ fi
31
+
32
+ # --------- 直接启动应用(应用内部会读取 PORT=7860) ---------
33
  exec /app/gpt-load