-
Notifications
You must be signed in to change notification settings - Fork 0
Expand file tree
/
Copy pathdocker-entrypoint.sh
More file actions
38 lines (33 loc) · 1.09 KB
/
Copy pathdocker-entrypoint.sh
File metadata and controls
38 lines (33 loc) · 1.09 KB
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
#!/bin/bash
set -e
echo "=== AI-Dev-Insight 后端服务启动 ==="
echo "时间: $(date)"
echo "环境: $ENVIRONMENT"
echo "数据库: $DATABASE_URL"
echo "LLM提供商: $LLM_PROVIDER"
echo "LLM模型: $LLM_MODEL"
echo "API Base: $OPENAI_API_BASE"
# 等待数据库就绪
echo "等待数据库连接..."
DB_HOST=$(echo $DATABASE_URL | sed 's/.*@\([^:]*\):.*/\1/')
DB_USER=$(echo $DATABASE_URL | sed 's/.*:\/\/\([^:]*\):.*/\1/')
DB_PASS=$(echo $DATABASE_URL | sed 's/.*:\/\/[^:]*:\([^@]*\)@.*/\1/')
while ! mysqladmin ping -h"$DB_HOST" -u"$DB_USER" -p"$DB_PASS" --skip-ssl --silent; do
echo "数据库未就绪,等待 5 秒..."
sleep 5
done
echo "数据库连接成功!"
# 初始化数据库
echo "初始化数据库..."
uv run python db/init_db.py init
# 导入数据
echo "导入示例数据..."
if [ -f "scripts/import_all_data.py" ]; then
uv run python scripts/import_all_data.py
echo "数据导入完成!"
else
echo "未找到数据导入脚本,跳过数据导入"
fi
# 启动应用
echo "启动 FastAPI 应用..."
exec uv run uvicorn main:app --host $HOST --port $PORT --workers 1