60 lines
1.5 KiB
Bash
60 lines
1.5 KiB
Bash
#!/bin/bash
|
|
set -e
|
|
|
|
echo "正在启动工作任务管理系统..."
|
|
|
|
# 确保 data 目录存在并设置正确权限
|
|
echo "设置数据目录权限..."
|
|
mkdir -p /app/data
|
|
# 修改目录和所有文件的权限,确保可读写
|
|
chmod -R 777 /app/data
|
|
# 如果数据库文件存在,确保它也有写权限
|
|
if [ -f /app/data/worklist.db ]; then
|
|
chmod 666 /app/data/worklist.db
|
|
echo "数据库文件权限已更新"
|
|
fi
|
|
|
|
# 切换到backend目录
|
|
cd /app/backend
|
|
|
|
# 等待数据库初始化
|
|
echo "初始化数据库..."
|
|
python -c "
|
|
from database import init_db, SessionLocal
|
|
from models import User
|
|
import os
|
|
|
|
# 初始化数据库
|
|
init_db()
|
|
|
|
# 创建会话
|
|
db = SessionLocal()
|
|
|
|
try:
|
|
# 检查是否已有用户
|
|
existing_user = db.query(User).first()
|
|
|
|
if not existing_user:
|
|
# 从环境变量获取默认用户信息
|
|
default_username = os.getenv('DEFAULT_USERNAME', 'admin')
|
|
default_password = os.getenv('DEFAULT_PASSWORD', 'admin123')
|
|
|
|
# 创建默认用户
|
|
user = User(username=default_username)
|
|
user.set_password(default_password)
|
|
db.add(user)
|
|
db.commit()
|
|
|
|
print(f'已创建默认用户: {default_username}')
|
|
print(f'默认密码: {default_password}')
|
|
print('请登录后立即修改密码!')
|
|
else:
|
|
print('用户已存在,跳过初始化')
|
|
finally:
|
|
db.close()
|
|
"
|
|
|
|
echo "启动FastAPI应用..."
|
|
# 启动应用 (使用uvicorn)
|
|
exec uvicorn app:app --host 0.0.0.0 --port 5000
|