26 lines
921 B
Bash
26 lines
921 B
Bash
#!/bin/bash
|
|
set -e
|
|
|
|
# 创建运行时数据目录
|
|
mkdir -p /data/uploads /data/instance
|
|
chmod 755 /data/uploads /data/instance
|
|
|
|
# 首次启动时初始化数据库;非首次启动时触发应用初始化逻辑检查表结构。
|
|
if [ ! -f /data/instance/transcriptions.db ]; then
|
|
echo "数据库不存在,正在创建..."
|
|
python -c "from src.app import app; from src.clients import db; app.app_context().push(); db.create_all()"
|
|
echo "数据库创建完成。"
|
|
else
|
|
echo "数据库已存在,正在检查表结构更新..."
|
|
python -c "from src.app import app; app.app_context().push()"
|
|
fi
|
|
|
|
# 如果配置了管理员环境变量,则创建或更新管理员账号。
|
|
if [ -n "$ADMIN_USERNAME" ] && [ -n "$ADMIN_EMAIL" ] && [ -n "$ADMIN_PASSWORD" ]; then
|
|
echo "正在根据环境变量创建管理员账号..."
|
|
cd /app && python scripts/docker_create_admin.py
|
|
fi
|
|
|
|
# 启动应用
|
|
exec "$@"
|