1.9 KiB
1.9 KiB
2026-06-20 运维实录
有声书服务全线搭建
Audiobookshelf 部署
- Docker 部署 ghcr.io/advplyr/audiobookshelf:latest,端口 13378
- Caddy 反代 podcast.xybkwd.top
- 手机端希声 App 同步收听
章节排序三层同步铁律
只改文件名不生效,Audiobookshelf 按三层数据排序:
| 层 | 字段 | 规则 |
|---|---|---|
| 文件系统 | 文件名 01-标题.mp3 | 数字前缀 |
| books.chapters | start(秒) | 连续递增 |
| books.audioFiles | index | 1→2→3→... |
下载→归档工作流
yt-dlp 下载(带 upload_date) → 排序 → 加前缀
→ audiobooks/节目名/
→ archive_old_audio.sh <节目> 3 (淘汰旧集到 archive_pending/)
→ sync_archive.sh (SCP到 D:/服务器备份/有声书/)
→ watcher 自动检测 → 希声同步
本地归档
- D:/服务器备份/有声书/<节目名>/ (D盘 392G)
- 脚本: archive_old_audio.sh / sync_archive.sh
有声书内容
| 节目 | 集数 | 来源 | 状态 |
|---|---|---|---|
| 渤海小吏·八王之乱 | 5集 | B站 | ✅ |
| 纵横四海 | 3集 | B站 | ✅ |
| 翟东升 | - | YouTube | ❌ 需cookies |
| Elon Musk | 99集 | 本地导入 | ✅ |
踩坑
- 数据库误删 — 任何 DB/cache 操作必须先确认
- 章节排序是 start 时间戳,不是文件名字母序
- SCP 中文路径失败 — 需临时英文路径中转
- 容器有 watcher,不需要重启
- B站用 -f worst 最小化下载,每集 ~40MB
- YouTube 需要 cookies 认证
文档体系
- server-ops: TIMELINE + CHANGELOG + DECISION_LOG 全面补全
- dashboard: CHANGELOG v1.4.0
- nav-page: CHANGELOG v1.0.3
- inspiration-collector: CHANGELOG v2.2 + 文章20_服务器
- 服务清单 10→17 项
今日感悟
- "不可越过":管线通了就收手,知道什么时候够了
- "车马华服":客户端追求渲染,服务器追求完成
- 三层记忆:WorkBuddy + 项目级 + 宏观,比空白强