Files
sentclaw/scripts/setup.sh
T
2026-04-07 16:05:05 +08:00

143 lines
3.0 KiB
Bash
Executable File
Raw Blame History

This file contains ambiguous Unicode characters
This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.
#!/bin/bash
# SentClaw 项目初始化脚本
# 用途:一键初始化开发环境
set -e
echo "=========================================="
echo "SentClaw 项目初始化脚本"
echo "=========================================="
echo ""
# 检查 Docker
if ! command -v docker &> /dev/null; then
echo "❌ Docker 未安装,请先安装 Docker"
exit 1
fi
if ! command -v docker-compose &> /dev/null; then
echo "❌ Docker Compose 未安装,请先安装 Docker Compose"
exit 1
fi
# 检查 Node.js
if ! command -v node &> /dev/null; then
echo "❌ Node.js 未安装,请先安装 Node.js 18+"
exit 1
fi
# 检查 Python
if ! command -v python3 &> /dev/null; then
echo "❌ Python 未安装,请先安装 Python 3.9+"
exit 1
fi
echo "✅ 环境检查通过"
echo ""
# 复制环境变量文件
if [ ! -f .env ]; then
echo "📋 创建 .env 文件..."
cp .env.example .env
echo "✅ .env 文件已创建,请根据需要修改配置"
else
echo "⚠️ .env 文件已存在,跳过创建"
fi
echo ""
# 启动 Docker 服务
echo "🐳 启动 Docker 服务(MySQL + Redis..."
docker-compose up -d
echo "✅ Docker 服务已启动"
echo ""
# 等待 MySQL 启动
echo "⏳ 等待 MySQL 启动..."
sleep 10
# 初始化后端
echo "🔧 初始化后端..."
cd backend
# 创建虚拟环境
if [ ! -d venv ]; then
echo "📦 创建 Python 虚拟环境..."
python3 -m venv venv
echo "✅ 虚拟环境已创建"
else
echo "⚠️ 虚拟环境已存在,跳过创建"
fi
# 激活虚拟环境并安装依赖
echo "📦 安装 Python 依赖..."
source venv/bin/activate
pip install -r requirements.txt
# 初始化数据库
echo "🗄️ 初始化数据库..."
flask db upgrade
cd ..
echo "✅ 后端初始化完成"
echo ""
# 初始化前端
echo "🔧 初始化前端..."
cd web
if [ ! -d node_modules ]; then
echo "📦 安装 Node.js 依赖..."
npm install
echo "✅ 前端依赖已安装"
else
echo "⚠️ node_modules 已存在,跳过安装"
fi
cd ..
echo "✅ 前端初始化完成"
echo ""
# 初始化桌面应用
echo "🔧 初始化桌面应用..."
cd desktop
if [ ! -d node_modules ]; then
echo "📦 安装 Electron 依赖..."
npm install
echo "✅ 桌面应用依赖已安装"
else
echo "⚠️ node_modules 已存在,跳过安装"
fi
cd ..
echo "✅ 桌面应用初始化完成"
echo ""
echo "=========================================="
echo "🎉 初始化完成!"
echo "=========================================="
echo ""
echo "📖 快速开始:"
echo ""
echo "1. 启动后端:"
echo " cd backend"
echo " source venv/bin/activate"
echo " python run.py"
echo ""
echo "2. 启动前端(新终端):"
echo " cd web"
echo " npm run dev"
echo ""
echo "3. 启动桌面应用(新终端):"
echo " cd desktop"
echo " npm run dev"
echo ""
echo "4. 访问应用:"
echo " Web: http://localhost:5173"
echo " API: http://localhost:5000"
echo " 默认账号: admin / admin123"
echo ""
echo "💡 更多信息请查看 README.md"
echo ""