SmartMeeting/speakr/scripts/docker-entrypoint.sh

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 "$@"