# MC Report — 部署文档 ## 环境要求 - Node.js ≥ 18 / npm ≥ 9 - MySQL ≥ 5.7(或 MariaDB ≥ 10.2) ## 快速开始 ```bash npm install node backend/server.js # → 浏览器打开 http://localhost:3100 # → 自动跳转安装向导 ``` ### 安装向导 **第1步:数据库配置** - MySQL 主机(默认 localhost) - 端口(默认 3306) - 用户名 / 密码 - 数据库名(不存在则自动创建) **第2步:创建服主账号** - 站点名称、站点地址 - 服主用户名、密码、邮箱 安装完成后 **重启服务器** 加载业务路由。 ## 配置文件 `data/config.json` ```json { "db_host": "localhost", "db_port": 3306, "db_user": "root", "db_pass": "", "db_name": "mc_report", "jwt_secret": "(安装时随机64位)", "api_key": "(安装时随机48位)", "external_api_key": "(安装时随机48位)" } ``` ## 生产部署 ```bash PORT=3100 CORS_ORIGIN=https://your-domain.com node backend/server.js ``` ### PM2 ```bash npm i -g pm2 pm2 start backend/server.js --name mc-report pm2 save && pm2 startup ``` ### Nginx ```nginx server { listen 80; server_name mc.example.com; client_max_body_size 55m; location / { proxy_pass http://127.0.0.1:3100; include nginx.inc; } } ``` ## 邮件配置 后台 → 系统设置 → SMTP 填写。未配置时注册用户自动激活。 ## Webhook 后台 → 通知配置 → 添加 Discord Webhook URL → 选择触发事件(工单创建/认领/转交/更新)。 ## 数据库 MySQL,安装时自动建表。备份: ```bash mysqldump -u root -p mc_report > backup.sql ``` ## 目录 ``` mc-report/ ├── backend/ │ ├── server.js │ ├── db.js │ ├── mailer.js │ ├── webhook.js │ ├── middleware/{auth,security,upload}.js │ └── routes/{auth,tickets,install,external,users,settings,export,polls,features,notifications,captcha,uploads}.js ├── public/ # 前端 SPA(16 页面) ├── mc-report-plugin/ # Paper 1.20+ 插件 ├── nginx.inc ├── data/config.json ├── data/uploads/ ├── package.json ├── README.md └── INSTALL.md ```