This commit is contained in:
侯欢 2025-12-07 21:56:37 +08:00
parent 1ad735db2e
commit d99a92b6dc
4 changed files with 39 additions and 0 deletions

View File

@ -27,6 +27,7 @@ docker-compose up -d
.
├── backend/ # Flask API + APScheduler
├── frontend/ # 单页 HTMLTailwind+Chart.js
├── seed/ # 预置数据CSVrevenue.sample.csv构建时复制到 /app/init/
├── data/ # SQLite 数据卷(自动创建/挂载)
├── Dockerfile # 生产镜像(已适配腾讯云)
├── docker-compose.yml # 一键部署
@ -48,6 +49,31 @@ curl -X PUT http://localhost:5000/api/admin/turnover \
-d '{"date":"2025-12-06","amount":3123.45,"reason":"调整入账"}'
```
## 数据预置与迁移
- 首次启动自动导入DB为空时
1. 如果存在 `/app/data/import.csv`,优先导入该文件
2. 否则导入镜像内 `/app/init/revenue.csv`(可将 `seed/revenue.sample.csv` 重命名为 `revenue.csv`
- CSV格式
```
date,amount
2025-12-01,12345.67
2025-12-02,11890.12
```
- 手动导入接口:
```bash
curl -X POST http://<服务器>:57778/api/admin/import \
-H "X-Admin-Token: $ADMIN_TOKEN" -H "Content-Type: text/csv" \
--data-binary @revenue.csv
```
## 环境优化(最优解)
- 基础镜像切换为 `python:3.11-alpine`,构建更快、体积更小
- 依赖安装走腾讯云 PyPI 镜像:`PIP_INDEX_URL=https://mirrors.cloud.tencent.com/pypi/simple`
- 自动数据导入:环境变量 `AUTO_IMPORT_ON_START=1`,启动时按顺序导入
1. `/app/data/import.csv`(宿主机 `./data/import.csv`
2. `/app/init/revenue.csv`(仓库 `seed/revenue.csv`
3. `/app/init/revenue.sample.csv`
## 生产建议
- 建议使用反向代理Nginx暴露 `5000` 端口,并开启 gzip
- 建议通过 `docker-compose``restart: unless-stopped` 保持服务稳定

View File

@ -9,6 +9,7 @@ services:
- TZ=Asia/Shanghai
- ADMIN_TOKEN=${ADMIN_TOKEN}
- PORT=57778
- AUTO_IMPORT_ON_START=1
volumes:
- ./data:/app/data:Z
restart: unless-stopped

6
seed/revenue.csv Normal file
View File

@ -0,0 +1,6 @@
date,amount
2025-12-01,12345.67
2025-12-02,11890.12
2025-12-03,13200.00
2025-12-04,11110.50
2025-12-05,14005.88
1 date amount
2 2025-12-01 12345.67
3 2025-12-02 11890.12
4 2025-12-03 13200.00
5 2025-12-04 11110.50
6 2025-12-05 14005.88

6
seed/revenue.sample.csv Normal file
View File

@ -0,0 +1,6 @@
date,amount
2025-12-01,12345.67
2025-12-02,11890.12
2025-12-03,13200.00
2025-12-04,11110.50
2025-12-05,14005.88
1 date amount
2 2025-12-01 12345.67
3 2025-12-02 11890.12
4 2025-12-03 13200.00
5 2025-12-04 11110.50
6 2025-12-05 14005.88