#!/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 "$@"