Files
stock_cursor_v0/backend/install.sh
2026-06-15 01:26:39 +08:00

107 lines
3.0 KiB
Bash
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
# 三大核心功能快速安装脚本WSL/Linux
set -e
echo "========================================="
echo " Blackdata StockTerminal 核心功能安装"
echo "========================================="
echo ""
# 检查是否在 WSL/Linux 环境
if [[ "$OSTYPE" != "linux-gnu"* ]]; then
echo "⚠ 此脚本仅支持 WSL/Linux 环境"
exit 1
fi
# 1. 安装系统依赖
echo "[1/6] 检查并安装系统依赖..."
sudo apt update
sudo apt install -y postgresql postgresql-contrib redis-server python3-pip python3-venv
# 2. 启动服务
echo ""
echo "[2/6] 启动 PostgreSQL 和 Redis..."
sudo service postgresql start
sudo service redis-server start
# 验证服务
if redis-cli ping > /dev/null 2>&1; then
echo "✓ Redis 运行正常"
else
echo "⚠ Redis 启动失败,缓存将降级到内存模式"
fi
# 3. 创建虚拟环境(如果不存在)
if [ ! -d ".venv" ]; then
echo ""
echo "[3/6] 创建 Python 虚拟环境..."
python3 -m venv .venv
else
echo ""
echo "[3/6] 虚拟环境已存在,跳过创建"
fi
# 4. 安装 Python 依赖
echo ""
echo "[4/6] 安装 Python 依赖包..."
source .venv/bin/activate
pip install --upgrade pip
pip install -r requirements.txt
# 5. 配置环境变量
echo ""
echo "[5/6] 配置环境变量..."
if [ ! -f ".env" ]; then
if [ -f ".env.example" ]; then
cp .env.example .env
echo "✓ 已从 .env.example 创建 .env 文件"
else
echo "⚠ .env.example 不存在,请手动创建 .env 文件"
fi
# 生成随机 SECRET_KEY
SECRET_KEY=$(python3 -c "import secrets; print(secrets.token_urlsafe(32))")
echo ""
echo "生成的 SECRET_KEY请添加到 .env:"
echo "SECRET_KEY=$SECRET_KEY"
echo ""
else
echo "✓ .env 文件已存在"
fi
# 6. 初始化数据库
echo ""
echo "[6/6] 初始化数据库..."
# 检查 PostgreSQL 密码配置
if grep -q "PG_PASSWORD=your_password" .env 2>/dev/null || grep -q "PG_PASSWORD=$" .env 2>/dev/null; then
echo ""
echo "⚠ 请先在 .env 中设置 PostgreSQL 密码:"
echo " 1. 设置数据库密码: sudo -u postgres psql -c \"ALTER USER postgres PASSWORD 'your_password';\""
echo " 2. 在 .env 中配置: PG_PASSWORD=your_password"
echo ""
echo "配置完成后,运行: python cli.py init"
else
python cli.py init
echo "✓ 数据库初始化完成"
fi
echo ""
echo "========================================="
echo " 安装完成!"
echo "========================================="
echo ""
echo "下一步:"
echo "1. 编辑 backend/.env 文件,配置数据库密码和其他选项"
echo "2. 如果未初始化数据库,运行: python cli.py init"
echo "3. 启动服务: python main.py"
echo "4. 浏览器访问: http://localhost:8000"
echo "5. 默认管理员: admin / admin123 (首次登录后务必修改密码)"
echo "6. 测试功能: python test_core_features.py"
echo ""
echo "详细文档:"
echo "- 升级指南: backend/UPGRADE_GUIDE.md"
echo "- 配置说明: backend/ENV_CONFIG.md"
echo ""