Switch production deployment from Docker to PM2 on Ubuntu.
Add Express gateway, ecosystem config, and one-click install with native PostgreSQL, Node, and Python venv on port 23566. Co-authored-by: Cursor <cursoragent@cursor.com>
This commit is contained in:
@@ -4,37 +4,22 @@ Secondary School Grade Archive — 多用户 Web 系统:成绩录入、占比
|
||||
|
||||
**版权所有 © 马建军** · 微信 **dekun03** · 手机 **18364911125**
|
||||
|
||||
> 完整版权说明见 [COPYRIGHT.md](./COPYRIGHT.md) · 许可证见 [LICENSE](./LICENSE)
|
||||
> [COPYRIGHT.md](./COPYRIGHT.md) · [LICENSE](./LICENSE)
|
||||
|
||||
**代码仓库:** [https://git.bz121.com/dekun/secondary-school-grade-archive.git](https://git.bz121.com/dekun/secondary-school-grade-archive.git)
|
||||
**仓库:** [https://git.bz121.com/dekun/secondary-school-grade-archive.git](https://git.bz121.com/dekun/secondary-school-grade-archive.git)
|
||||
|
||||
---
|
||||
|
||||
## 文档索引
|
||||
## 文档
|
||||
|
||||
| 文档 | 说明 |
|
||||
|------|------|
|
||||
| [docs/DEPLOY.md](./docs/DEPLOY.md) | **Ubuntu 一键 Docker 部署**(/opt、端口 23566) |
|
||||
| [docs/USAGE.md](./docs/USAGE.md) | **用户使用说明** |
|
||||
| [COPYRIGHT.md](./COPYRIGHT.md) | 版权与授权 |
|
||||
| [LICENSE](./LICENSE) | 许可证全文 |
|
||||
| [docs/DEPLOY.md](./docs/DEPLOY.md) | **Ubuntu PM2 一键部署** |
|
||||
| [docs/USAGE.md](./docs/USAGE.md) | 用户使用说明 |
|
||||
|
||||
---
|
||||
|
||||
## 功能概览
|
||||
|
||||
- 用户注册/登录,数据按账号隔离
|
||||
- 学生管理(**初中 / 高中**学段、年级、班级)
|
||||
- 成绩录入:周考 / 月考 / 期末(总分、得分、占比)
|
||||
- 分科曲线:上升绿、下降红、大幅波动高亮
|
||||
- 错题库:上传图片 → PaddleOCR → Ollama 生成解法
|
||||
- 成绩 CSV 导出、备份脚本
|
||||
|
||||
---
|
||||
|
||||
## Ubuntu 一键部署(生产环境)
|
||||
|
||||
**要求:** root 用户 · Ubuntu · Docker · 目录 `/opt/secondary-school-grade-archive` · 端口 **23566**
|
||||
## Ubuntu 一键部署(PM2)
|
||||
|
||||
```bash
|
||||
git clone https://git.bz121.com/dekun/secondary-school-grade-archive.git /opt/secondary-school-grade-archive
|
||||
@@ -43,74 +28,53 @@ chmod +x deploy/*.sh
|
||||
bash deploy/install.sh
|
||||
```
|
||||
|
||||
部署完成后访问:`http://<服务器IP>:23566`
|
||||
- 安装目录:`/opt/secondary-school-grade-archive`
|
||||
- 访问地址:`http://<服务器IP>:23566`
|
||||
- 进程管理:`pm2 status` / `pm2 logs`
|
||||
|
||||
脚本会自动:检测系统环境 → 安装 Docker(若缺失)→ 生成 `.env` → 构建并启动服务。
|
||||
|
||||
详细说明、运维命令、故障排查见 **[docs/DEPLOY.md](./docs/DEPLOY.md)**。
|
||||
|
||||
> **反向代理(HTTPS/域名)不包含在本项目中**,请自行配置 Nginx/Caddy 等,参见部署文档第 7 节。
|
||||
详见 [docs/DEPLOY.md](./docs/DEPLOY.md)。**反向代理不包含在本项目中。**
|
||||
|
||||
---
|
||||
|
||||
## 本地开发
|
||||
|
||||
### Docker Compose(默认端口 23566)
|
||||
|
||||
```bash
|
||||
cp .env.example .env
|
||||
docker compose --env-file .env up --build
|
||||
```
|
||||
# PostgreSQL 本地安装后
|
||||
cp backend/.env.example backend/.env
|
||||
|
||||
- 前端:http://localhost:23566
|
||||
- API 健康检查:http://localhost:23566/api/health
|
||||
|
||||
### 分步开发
|
||||
|
||||
```bash
|
||||
# 仅数据库
|
||||
docker compose up db -d
|
||||
|
||||
# 后端
|
||||
cd backend && pip install -r requirements.txt && cp .env.example .env
|
||||
cd backend
|
||||
python3 -m venv venv
|
||||
source venv/bin/activate # Windows: venv\Scripts\activate
|
||||
pip install -r requirements.txt
|
||||
uvicorn app.main:app --reload --port 8000
|
||||
|
||||
# 前端
|
||||
cd frontend && npm install && npm run dev
|
||||
cd frontend
|
||||
npm install && npm run dev
|
||||
```
|
||||
|
||||
### Ollama(错题 AI,可选)
|
||||
开发前端:http://localhost:5173(代理 `/api` 到 8000)
|
||||
|
||||
生产网关本地模拟:
|
||||
|
||||
```bash
|
||||
ollama pull qwen2.5:7b
|
||||
ollama serve
|
||||
cd deploy/pm2 && npm install
|
||||
# 先 build 前端
|
||||
cd ../../frontend && npm run build
|
||||
WEB_PORT=23566 pm2 start ../deploy/pm2/ecosystem.config.cjs
|
||||
```
|
||||
|
||||
---
|
||||
|
||||
## 运维快捷命令
|
||||
## 运维
|
||||
|
||||
```bash
|
||||
cd /opt/secondary-school-grade-archive
|
||||
|
||||
docker compose ps # 状态
|
||||
bash deploy/update.sh # 更新
|
||||
bash deploy/backup.sh # 备份
|
||||
bash deploy/uninstall.sh # 停止服务
|
||||
bash deploy/update.sh # 更新
|
||||
bash deploy/backup.sh # 备份
|
||||
bash deploy/uninstall.sh # 停止
|
||||
```
|
||||
|
||||
---
|
||||
|
||||
## 环境变量
|
||||
|
||||
见 [.env.example](./.env.example)
|
||||
|
||||
---
|
||||
|
||||
## 技术支持
|
||||
|
||||
- **作者:** 马建军
|
||||
- **微信:** dekun03
|
||||
- **手机:** 18364911125
|
||||
|
||||
未经授权不得商业使用或去除版权信息。
|
||||
微信 **dekun03** · 手机 **18364911125**
|
||||
|
||||
Reference in New Issue
Block a user