4 Commits

Author SHA1 Message Date
Fam Zheng 9ce3b66810 ci(music): docker build --no-cache 主 image,根治 binary stale
deploy music / build-and-deploy (push) Successful in 1m44s
之前 cargo build 有跑出新 musl binary 但 docker build 时
'Step 2/5 : COPY target/.../music — Using cache' 命中旧 layer,
把历史 binary 套进新 sha tag 的 image。结果 main.rs 改动悄悄丢失。

回退之前迂回的 cargo clean -p / rm binary(治不到 docker 那层),
直接给主 image 加 --no-cache。chord-fetcher 那个 sidecar 保留 cache(chromium apt 拉一次 200MB+,每次重 build 太慢)。
2026-05-10 15:23:37 +01:00
Fam Zheng 9640abe102 ci(music): cargo clean -p 强制每次 link,act_runner workdir 复用导致 main.rs 改动不生效
deploy music / build-and-deploy (push) Successful in 1m46s
2026-05-10 15:18:16 +01:00
Fam Zheng e111398157 music(chord): 加 yopu.co 吉他谱自动抓取(sidecar 模式)
deploy cube / build-and-deploy (push) Successful in 1m15s
deploy simpleasm / build-and-deploy (push) Successful in 1m19s
deploy music / build-and-deploy (push) Successful in 4m38s
复刻 ../guitar 的功能:
- 新加 chord-fetcher sidecar(python 3.11 + chromium + selenium),跟 main 同 pod 共享 PVC
- yopu.py v2:搜「和弦谱」→ 进 view → 选 谱面样式=功能谱 + 和弦样式=级数名 → 截 sheet-container → PIL 裁白边
- music backend 加 POST /api/pieces/:id/chord/fetch + GET /chord/status,转发 sidecar 并把 png import 成 image attachment role=chord
- 前端 chord tab 在没图时显示「自动抓取」按钮,点了 polling 状态、完成后刷新
- CI build 两个 image(music + music-chord),rollout 同步切版本
2026-05-09 22:52:09 +01:00
Fam Zheng 1a8f297302 music: 新建 music app,替换 piano-sheet
deploy cube / build-and-deploy (push) Successful in 1m10s
deploy music / build-and-deploy (push) Successful in 1m47s
deploy simpleasm / build-and-deploy (push) Successful in 1m20s
听歌 + 练琴曲目管理:
- 数据:piece (title/artist/category/lyrics/play_count/notes) + attachments (audio/video/pdf/image; image 带 role=chord/numbered/staff)
- 后端 axum + sqlite,附件流式落 PVC,ServeFile 支持 Range(视频拖动)
- 前端 guitar 风格 player:左 sidebar + tabs(歌词/吉他谱/简谱/五线谱/PDF/视频),LRC 同步、快捷键、笔记自动保存
- ns cube-music + music.famzheng.me + bodylimit 5GiB
- scripts/import_guitar.py 用于把 oci /data/guitar/ 旧曲库导入
2026-05-09 22:36:14 +01:00