Add configurable upstream sync proxy and schedule settings

This commit is contained in:
2026-03-19 18:05:22 +08:00
parent 1b420cd492
commit a64725d60c
8 changed files with 480 additions and 5 deletions

View File

@@ -20,6 +20,12 @@ docker compose -f docker-compose.yml -f docker-compose.test.yml up --build -d
cp .env.example .env
```
Compose 的环境变量来源顺序:
1. 当前 shell 环境变量
2. 项目根目录 `.env`
3. `docker-compose.yml` 中的默认值
停止服务:
```bash
@@ -48,6 +54,7 @@ docker compose down -v
- 生成 `dist/device_index.json`
- 导出 MySQL seed 文件
- 如开启 `MYSQL_AUTO_LOAD=1`,则加载 MySQL schema 与 seed 数据
- 启动项目内置的每日自动同步调度器
- 启动 Web 页面与 API 服务
## MySQL 默认连接
@@ -59,6 +66,21 @@ docker compose down -v
如需自定义账号密码,请使用 `.env` 覆盖默认值。
常用变量:
- `MYSQL_HOST`
- `MYSQL_PORT`
- `TZ`
- `MYSQL_ROOT_USER`
- `MYSQL_ROOT_PASSWORD`
- `MYSQL_DATABASE`
- `MYSQL_READER_USER`
- `MYSQL_READER_PASSWORD`
- `MYSQL_AUTO_LOAD`
- `SYNC_SCHEDULE_ENABLED`
- `SYNC_SCHEDULE_TIME`
- `GITHUB_PROXY_PREFIX`
## MySQL 模式
- 主配置 `docker-compose.yml`
@@ -108,8 +130,18 @@ docker compose down -v
- 品牌同义词管理
- 数据来源优先级管理
- 原始数据同步
- 每日自动同步时间点设置
- 索引数据查看与重新加载
### 每日自动同步
- 调度器运行在项目容器内部,不依赖 GitHub Actions
- 页面入口:`数据管理 -> 原始数据同步`
- 可设置是否启用,以及每天执行的时间点
- 可选配置 GitHub 加速前缀,例如 `https://ghfast.top/`
- 运行期配置持久化在 `/data/state/sync_schedule.json`
- 时间按容器时区执行,默认值来自 `TZ`,默认 `Asia/Shanghai`
## 说明
- 原始数据、索引和 MySQL seed 运行时持久化在 Docker volume 中,不回写本地工作区