sjg / launch.sh
hxger's picture
Upload 4 files
32fd9a9 verified
#!/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 "$@"