Update run.sh
Browse files
run.sh
CHANGED
|
@@ -1,12 +1,33 @@
|
|
| 1 |
#!/usr/bin/env sh
|
| 2 |
-
set -
|
| 3 |
|
|
|
|
| 4 |
echo "[diag] id: $(id)"
|
| 5 |
-
echo "[diag] PORT=${PORT} DRIVER=${DATABASE_DRIVER}
|
| 6 |
|
| 7 |
-
#
|
| 8 |
-
|
| 9 |
-
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| 10 |
|
| 11 |
-
#
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| 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
|