优化
This commit is contained in:
parent
1ad735db2e
commit
d99a92b6dc
26
README.md
26
README.md
@ -27,6 +27,7 @@ docker-compose up -d
|
|||||||
.
|
.
|
||||||
├── backend/ # Flask API + APScheduler
|
├── backend/ # Flask API + APScheduler
|
||||||
├── frontend/ # 单页 HTML(Tailwind+Chart.js)
|
├── frontend/ # 单页 HTML(Tailwind+Chart.js)
|
||||||
|
├── seed/ # 预置数据CSV(revenue.sample.csv),构建时复制到 /app/init/
|
||||||
├── data/ # SQLite 数据卷(自动创建/挂载)
|
├── data/ # SQLite 数据卷(自动创建/挂载)
|
||||||
├── Dockerfile # 生产镜像(已适配腾讯云)
|
├── Dockerfile # 生产镜像(已适配腾讯云)
|
||||||
├── docker-compose.yml # 一键部署
|
├── 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":"调整入账"}'
|
-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
|
- 建议使用反向代理(Nginx)暴露 `5000` 端口,并开启 gzip
|
||||||
- 建议通过 `docker-compose` 的 `restart: unless-stopped` 保持服务稳定
|
- 建议通过 `docker-compose` 的 `restart: unless-stopped` 保持服务稳定
|
||||||
|
|||||||
@ -9,6 +9,7 @@ services:
|
|||||||
- TZ=Asia/Shanghai
|
- TZ=Asia/Shanghai
|
||||||
- ADMIN_TOKEN=${ADMIN_TOKEN}
|
- ADMIN_TOKEN=${ADMIN_TOKEN}
|
||||||
- PORT=57778
|
- PORT=57778
|
||||||
|
- AUTO_IMPORT_ON_START=1
|
||||||
volumes:
|
volumes:
|
||||||
- ./data:/app/data:Z
|
- ./data:/app/data:Z
|
||||||
restart: unless-stopped
|
restart: unless-stopped
|
||||||
|
|||||||
6
seed/revenue.csv
Normal file
6
seed/revenue.csv
Normal 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
|
||||||
|
6
seed/revenue.sample.csv
Normal file
6
seed/revenue.sample.csv
Normal 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
|
||||||
|
Loading…
Reference in New Issue
Block a user