docs: document docker deployment workflow

This commit is contained in:
kairee committed 2026-11-01 00:52:06 +08:00
1 parent b9d82e54c7
commit fcca14c0f9
3 files changed
+43 -10

No files matched your search

+35
View File
@@ -207,6 +207,41 @@ uv run python tools/import_fans_history.py --from-file data.js --days 90
- 页面的“日增”只在存在前一天数据时计算,跨多天不会标成日增;
- 写入前建议先备份 `data/app.db`,例如 `data/backup/app-pre-fans-YYYYMMDD.db`。
## 快速部署(Docker)
仓库根目录已包含 `Dockerfile`、`docker-compose.yml`、`.dockerignore` 和 `config.docker.example.json`。
```powershell
# 1. 准备服务器配置;至少填写 B 站 Cookie / Telegram,并保留 /data 绝对路径
Copy-Item config.docker.example.json config.json
# 2. 构建并后台启动
docker compose up -d --build
# 3. 查看日志与健康状态
docker compose logs -f
curl http://127.0.0.1:8080/api/health
```
- 容器执行 `python app.py --config /config/config.json`,同时运行只读 Web、调度和 Telegram;
- `config.json` 挂载到 `/config/config.json`,`data/` 挂载到 `/data/`;
- 服务器配置需使用 `web.host = 0.0.0.0` 并设置 `web.auth_token`,否则服务拒绝启动;
- `storage.database_path` 使用 `/data/app.db`,`storage.backup_dir` 使用 `/data/backup`;
- 首次部署可先在本地执行 `uv run python app.py auth --account read` 扫码,再把生成好的 `config.json` 放到服务器;
- 也可在容器内扫码:`docker compose run --rm board python app.py auth --account read --no-browser`,二维码会打印在临时文件路径,可用 `docker cp` 取出;
- 数据卷包含数据库、备份与预览库,建议定期备份 `/data`。
不使用 Compose 时:
```powershell
docker build -t reaction-board .
docker run -d --name reaction-board --restart unless-stopped `
-p 8080:8080 `
-v ${PWD}/config.json:/config/config.json `
-v ${PWD}/data:/data `
reaction-board
```
## 配置
复制样例配置,并填写 B 站账号信息: