Selinore commited on
Commit
de023b7
·
verified ·
1 Parent(s): ef23fda

Update entrypoint.sh

Browse files
Files changed (1) hide show
  1. entrypoint.sh +12 -13
entrypoint.sh CHANGED
@@ -1,43 +1,42 @@
1
  #!/bin/bash
2
  set -e
3
 
4
- echo "=== 正在初始化存储目录 ==="
5
- # 确保挂载盘 /data 结构存在
6
  mkdir -p /data/db
7
  mkdir -p /data/uploads
8
  mkdir -p /data/images
9
  mkdir -p /data/logs
10
 
11
- # 防止异常关机导致 MongoDB 锁死
12
  if [ -f /data/db/mongod.lock ]; then
13
- echo "检测到遗留的 mongod.lock 文件,正在自动修复清理..."
14
  mongod --dbpath /data/db --repair || true
15
  rm -f /data/db/mongod.lock
16
  fi
17
 
18
- echo "=== 启动内嵌本地 MongoDB ==="
19
  mongod --dbpath /data/db --bind_ip 127.0.0.1 --logpath /data/logs/mongod.log --fork
20
 
21
- # 等待 MongoDB 就绪
22
- echo "等待 MongoDB 启动完成..."
23
- until mongosh --eval "db.adminCommand('ping')" > /dev/null 2>&1; do
24
  sleep 1
25
  done
26
  echo "MongoDB 启动成功!"
27
 
28
- # 将 LibreChat 的上传与资源目录软链接到挂载盘,防止数据丢失
29
  rm -rf /app/uploads && ln -s /data/uploads /app/uploads
30
  rm -rf /app/client/public/images && ln -s /data/images /app/client/public/images
31
 
32
- # 配置默认关键环境变量(如果 Space Secret 中未传入)
33
  export MONGO_URI="mongodb://127.0.0.1:27017/LibreChat"
34
  export PORT=7860
35
  export HOST=0.0.0.0
36
  export SEARCH=false
37
- export JWT_SECRET="${JWT_SECRET:-librechat_jwt_secret_random_hf_7860}"
38
- export JWT_REFRESH_SECRET="${JWT_REFRESH_SECRET:-librechat_jwt_refresh_random_hf_7860}"
39
  export CREDS_KEY="${CREDS_KEY:-f3429676ef4827051df4d8a24e9cb72b947c61f2802f5a0446b76aa9bb969796}"
40
  export CREDS_IV="${CREDS_IV:-e47854737d97cb8a72b64ef44197e42d}"
41
 
42
- echo "=== 启动 LibreChat 服务端 ==="
43
  exec npm run backend
 
1
  #!/bin/bash
2
  set -e
3
 
4
+ echo "=== 正在初始化挂载盘目录 ==="
5
+ # 确保持久化挂载盘 /data 目录完整
6
  mkdir -p /data/db
7
  mkdir -p /data/uploads
8
  mkdir -p /data/images
9
  mkdir -p /data/logs
10
 
11
+ # 处理意外断电/Space睡眠产生的残留锁文件
12
  if [ -f /data/db/mongod.lock ]; then
13
+ echo "检测到遗留的 mongod.lock 文件,正在修复数据库..."
14
  mongod --dbpath /data/db --repair || true
15
  rm -f /data/db/mongod.lock
16
  fi
17
 
18
+ echo "=== 启动内置 MongoDB 服务 ==="
19
  mongod --dbpath /data/db --bind_ip 127.0.0.1 --logpath /data/logs/mongod.log --fork
20
 
21
+ echo "等待 MongoDB 就绪..."
22
+ until mongosh --quiet --eval "db.adminCommand('ping')" > /dev/null 2>&1; do
 
23
  sleep 1
24
  done
25
  echo "MongoDB 启动成功!"
26
 
27
+ # 将 LibreChat 的上传及静态资源目录链接至 /data 挂载盘
28
  rm -rf /app/uploads && ln -s /data/uploads /app/uploads
29
  rm -rf /app/client/public/images && ln -s /data/images /app/client/public/images
30
 
31
+ # 设置环境变量
32
  export MONGO_URI="mongodb://127.0.0.1:27017/LibreChat"
33
  export PORT=7860
34
  export HOST=0.0.0.0
35
  export SEARCH=false
36
+ export JWT_SECRET="${JWT_SECRET:-librechat_secret_hf_random_key_1}"
37
+ export JWT_REFRESH_SECRET="${JWT_REFRESH_SECRET:-librechat_secret_hf_random_key_2}"
38
  export CREDS_KEY="${CREDS_KEY:-f3429676ef4827051df4d8a24e9cb72b947c61f2802f5a0446b76aa9bb969796}"
39
  export CREDS_IV="${CREDS_IV:-e47854737d97cb8a72b64ef44197e42d}"
40
 
41
+ echo "=== 启动 LibreChat 服务 ==="
42
  exec npm run backend