File size: 1,645 Bytes
437ef8f
 
 
 
 
 
 
 
 
 
32fd9a9
437ef8f
 
 
32fd9a9
437ef8f
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
32fd9a9
437ef8f
 
 
 
 
 
 
 
 
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
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
#!/bin/sh

BASE=/home/node/app
USERNAME=$(printenv USERNAME)
PASSWORD=$(printenv PASSWORD)
HF_TOKEN=$(printenv HF_TOKEN)
DATASET_ID=$(printenv DATASET_ID)
SYNC_INTERVAL=$(printenv SYNC_INTERVAL)

# 如果没有设置用户名和密码,使用默认值
if [ -z "${USERNAME}" ]; then
  USERNAME="admin"
fi

if [ -z "${PASSWORD}" ]; then
  PASSWORD="password"
fi

echo
echo "用户名: ${USERNAME}"
echo "密码: ${PASSWORD}"
echo

# 确保配置目录存在
mkdir -p "${BASE}/config"

# 如果配置文件不存在,从默认目录复制
if [ ! -e "${BASE}/config/config.yaml" ]; then
  echo "配置文件不存在,从默认目录复制: config.yaml"
  cp -r "${BASE}/default/config.yaml" "${BASE}/config/config.yaml"
fi

# 修改配置文件中的用户名和密码
sed -i "s/username: .*/username: \"${USERNAME}\"/" ${BASE}/config/config.yaml
sed -i "s/password: .*/password: \"${PASSWORD}\"/" ${BASE}/config/config.yaml

# 启用基本认证模式,禁用白名单模式
sed -i "s/whitelistMode: true/whitelistMode: false/" ${BASE}/config/config.yaml
sed -i "s/basicAuthMode: false/basicAuthMode: true/" ${BASE}/config/config.yaml

# 显示配置文件内容以便验证
echo "配置文件内容:"
cat ${BASE}/config/config.yaml

# 启动数据同步服务(如果提供了必要的环境变量)
if [ ! -z "${HF_TOKEN}" ] && [ ! -z "${DATASET_ID}" ]; then
  echo "启动数据同步服务..."
  nohup ${BASE}/sync_data.sh > ${BASE}/sync_data.log 2>&1 &
  echo "数据同步服务已在后台启动"
else
  echo "未提供HF_TOKEN或DATASET_ID,不启动数据同步服务"
fi

# 正常启动服务器
exec node server.js --listen "$@"