# Cruyff_Intelligence_Server **Repository Path**: seaoftranquility/cruyff_intelligence_server ## Basic Information - **Project Name**: Cruyff_Intelligence_Server - **Description**: cruyff_intelligence_server to be uploaded to the server - **Primary Language**: Unknown - **License**: Not specified - **Default Branch**: master - **Homepage**: None - **GVP Project**: No ## Statistics - **Stars**: 0 - **Forks**: 0 - **Created**: 2026-03-19 - **Last Updated**: 2026-06-21 ## Categories & Tags **Categories**: Uncategorized **Tags**: None ## README # Cruyff Intelligence Server 部署系统 ## 🚀 概述 这是一个完整的一键部署系统,用于部署和管理Cruyff Intelligence Server。支持本地开发环境和生产环境部署。 ## 📚 当前项目成果文档 如果你想快速了解截至 **2026-05-07** 的当前交付成果、模块拆分、数据库结构、小程序功能链路和部署现状,请优先阅读: - `docs/zh/PROJECT_DELIVERY_AND_MODULES_2026-05-07.md` - `docs/zh/MINIPROGRAM_INTEGRATION.md` - `docs/zh/DEPLOYMENT.md` ## 📁 目录结构 ``` deploy/ ├── deploy.sh # 主部署脚本 ├── systemd.service.local # 本地环境systemd服务模板 ├── systemd.service.prod # 生产环境systemd服务模板 ├── config/ # 配置文件目录 │ ├── local.env # 本地环境配置 │ └── prod.env # 生产环境配置 ├── backups/ # 备份目录(自动创建) └── README.md # 本文档 ``` ## 🔧 快速开始 ### 1. 设置执行权限 ```bash chmod +x deploy.sh ``` ### 2. 部署服务器 ```bash # 部署本地环境(默认) ./deploy.sh deploy # 部署生产环境 DEPLOY_ENV=prod ./deploy.sh deploy ``` ### 3. 查看服务器状态 ```bash ./deploy.sh status ``` ## 📋 可用命令 | 命令 | 描述 | 示例 | |------|------|------| | `deploy` | 部署服务器 | `./deploy.sh deploy` | | `update` | 更新服务器 | `./deploy.sh update` | | `restart` | 重启服务器 | `./deploy.sh restart` | | `stop` | 停止服务器 | `./deploy.sh stop` | | `status` | 查看状态 | `./deploy.sh status` | | `logs` | 查看日志 | `./deploy.sh logs` | | `backup` | 备份数据 | `./deploy.sh backup` | | `restore` | 恢复数据 | `./deploy.sh restore` | | `clean` | 清理文件 | `./deploy.sh clean` | | `help` | 显示帮助 | `./deploy.sh help` | ## ⚙️ 环境配置 ### 环境变量 | 变量 | 默认值 | 描述 | |------|--------|------| | `DEPLOY_ENV` | `local` | 部署环境 (`local`/`prod`) | | `SERVER_DIR` | `/opt/cruyff_intelligence_server` | 服务器安装目录 | | `BACKUP_DIR` | `./backups` | 备份目录 | | `VENV_DIR` | `$SERVER_DIR/venv` | Python虚拟环境目录 | ### 配置文件 配置文件位于 `config/` 目录: #### `local.env` - 本地环境配置 ```bash # 本地开发环境配置 SERVER_DIR="/opt/cruyff_intelligence_server" VENV_DIR="$SERVER_DIR/venv" LOG_DIR="$SERVER_DIR/backend/logs" DATA_DIR="$SERVER_DIR/backend/received_data" BACKUP_DIR="./backups" # 服务配置 SERVICE_USER="$(whoami)" SERVICE_GROUP="$(id -gn)" ``` #### `prod.env` - 生产环境配置 ```bash # 生产环境配置 SERVER_DIR="/opt/cruyff_intelligence_server" VENV_DIR="$SERVER_DIR/venv" LOG_DIR="$SERVER_DIR/backend/logs" DATA_DIR="$SERVER_DIR/backend/received_data" BACKUP_DIR="/var/backups/cruyff_server" # 服务配置 SERVICE_USER="cruyff" SERVICE_GROUP="cruyff" # 安全配置 SECRET_KEY="your-secret-key-here" JWT_SECRET_KEY="your-jwt-secret-key-here" ``` ## 🛠️ 系统要求 ### 操作系统 - Ubuntu 20.04+ / CentOS 7+ / Debian 10+ - 需要root或sudo权限 ### 软件依赖 - Python 3.8+ - pip3 - systemd - RabbitMQ (可选,支持模拟模式) ### 网络要求 - 端口 5000 (HTTP API) - 端口 5672 (RabbitMQ,可选) - 端口 15672 (RabbitMQ管理界面,可选) ## 📝 详细部署步骤 ### 1. 首次部署 ```bash # 1. 克隆项目 git clone cd cruyff_intelligence_server2 # 2. 进入部署目录 cd deploy # 3. 设置执行权限 chmod +x deploy.sh # 4. 部署本地环境 ./deploy.sh deploy # 5. 验证部署 ./deploy.sh status ``` ### 2. 更新服务器 ```bash # 1. 拉取最新代码 cd cruyff_intelligence_server2 git pull # 2. 更新服务器 cd deploy ./deploy.sh update ``` ### 3. 备份和恢复 ```bash # 备份数据 ./deploy.sh backup # 查看备份文件 ls -la backups/data/ # 恢复数据 ./deploy.sh restore ``` ## 🔍 监控和日志 ### 查看服务状态 ```bash # 查看服务状态 sudo systemctl status cruyff-intelligence-local # 查看详细状态 ./deploy.sh status ``` ### 查看日志 ```bash # 实时查看日志 ./deploy.sh logs # 查看特定数量的日志 sudo journalctl -u cruyff-intelligence-local -n 50 # 查看错误日志 sudo journalctl -u cruyff-intelligence-local --since "1 hour ago" -p err ``` ### 查看API日志 ```bash # 访问日志 tail -f /opt/cruyff_intelligence_server/backend/logs/access.log # 错误日志 tail -f /opt/cruyff_intelligence_server/backend/logs/error.log # 应用日志 tail -f /opt/cruyff_intelligence_server/backend/logs/server.log ``` ## 🚨 故障排除 ### 常见问题 #### 1. 权限问题 ```bash # 检查文件权限 sudo ls -la /opt/cruyff_intelligence_server/ # 修复权限 sudo chown -R $(whoami):$(id -gn) /opt/cruyff_intelligence_server/ ``` #### 2. 服务启动失败 ```bash # 查看服务状态 sudo systemctl status cruyff-intelligence-local # 查看详细日志 sudo journalctl -u cruyff-intelligence-local -xe # 重启服务 sudo systemctl restart cruyff-intelligence-local ``` #### 3. Python依赖问题 ```bash # 重新安装依赖 cd /opt/cruyff_intelligence_server source venv/bin/activate pip install -r backend/requirements.txt --upgrade deactivate ``` #### 4. 端口冲突 ```bash # 检查端口占用 sudo netstat -tlnp | grep :5000 # 停止占用端口的进程 sudo kill ``` ### 调试模式 ```bash # 停止服务 ./deploy.sh stop # 手动启动调试模式 cd /opt/cruyff_intelligence_server/backend source ../venv/bin/activate python app.py --debug # 查看实时输出 ``` ## 🔄 自动化部署 ### 使用CI/CD 创建 `.github/workflows/deploy.yml`: ```yaml name: Deploy to Server on: push: branches: [ main ] jobs: deploy: runs-on: ubuntu-latest steps: - uses: actions/checkout@v2 - name: Deploy to Server uses: appleboy/ssh-action@master with: host: ${{ secrets.SERVER_HOST }} username: ${{ secrets.SERVER_USER }} key: ${{ secrets.SSH_PRIVATE_KEY }} script: | cd /opt/cruyff_intelligence_server2 git pull cd deploy ./deploy.sh update ``` ### 定时备份 创建备份脚本 `backup-cron.sh`: ```bash #!/bin/bash cd /opt/cruyff_intelligence_server2/deploy ./deploy.sh backup ``` 添加到crontab: ```bash # 每天凌晨2点备份 0 2 * * * /opt/cruyff_intelligence_server2/deploy/backup-cron.sh ``` ## 📊 服务器信息 ### 部署后验证 ```bash # 1. 检查服务状态 ./deploy.sh status # 2. 测试API端点 curl http://localhost:5000/api/health # 3. 测试认证 curl -X POST http://localhost:5000/api/auth/login \ -H "Content-Type: application/json" \ -d '{"username": "admin", "password": "admin123"}' # 4. 测试MQ curl http://localhost:5000/api/mq/status ``` ### 默认用户 - **管理员**: `admin` / `admin123` - **只读用户**: `viewer` / `viewer123` - **数据录入员**: `data_entry` / `data123` ## 🔒 安全建议 ### 生产环境安全配置 1. **修改默认密码** ```bash # 修改.env文件中的密码 vi /opt/cruyff_intelligence_server/backend/.env ``` 2. **启用HTTPS** ```bash # 使用Nginx反向代理 sudo apt-get install nginx sudo certbot --nginx -d your-domain.com ``` 3. **防火墙配置** ```bash # 只开放必要端口 sudo ufw allow 22/tcp sudo ufw allow 80/tcp sudo ufw allow 443/tcp sudo ufw enable ``` 4. **定期更新** ```bash # 定期更新系统和依赖 sudo apt-get update && sudo apt-get upgrade cd /opt/cruyff_intelligence_server2/deploy ./deploy.sh update ``` ## 📞 支持 ### 获取帮助 ```bash # 查看部署脚本帮助 ./deploy.sh help # 查看服务日志 ./deploy.sh logs # 检查系统状态 ./deploy.sh status ``` ### 报告问题 如果遇到问题,请提供以下信息: 1. 操作系统版本 2. Python版本 3. 部署命令和输出 4. 相关日志文件内容 ## 📄 许可证 本部署系统仅供内部使用。 --- **最后更新**: 2026-04-20 **版本**: 2.0.0 --- ## Hybrid databases update (2026-04-29) The backend now uses **two databases**: 1. **MongoDB** for raw/document-style storage. 2. **MySQL** for normalized relational data and analytics snapshots. New backend capabilities: - CRUD APIs for teams / players / matches / performances - Daily scheduled Python analytics job - Analytics snapshots persisted into MySQL Key environment variables: ```env CRUYFF_SQL_DSN=mysql+pymysql://cruyff_app:YOUR_PASSWORD@127.0.0.1:3306/cruyff_intelligence CRUYFF_DAILY_ANALYTICS_ENABLED=true CRUYFF_DAILY_ANALYTICS_TIMEZONE=Asia/Shanghai CRUYFF_DAILY_ANALYTICS_HOUR=2 CRUYFF_DAILY_ANALYTICS_MINUTE=0 ``` See also: - `cruyff_server/backend/docs/mysql_analytics_guide.md` - `cruyff_server/backend/docs/api_documentation.md`