Lessons: Replacing Stacks¶
Case study thực tế về thay thế stack. Checklist đầy đủ (pre-replacement, post-addition, verify) đã được consolidate vào deploy-checklist.md:
- §3 Replacing/migrating a stack — MANDATORY trước khi replace (feature parity, integration points, data flow, config compat).
- §4 Post-addition review — sau khi add xong (overlap, integration, shared resources, docs consistency).
- §5 Verify sau deploy — 3 layer.
Dưới đây là case study để tham khảo khi cân nhắc replace.
Case Study: MeTube vs Cobalt (2026-05-08)¶
| Feature | MeTube | Cobalt | Replaced? |
|---|---|---|---|
| Download video to disk | ✅ /downloads |
❌ Browser only | NO |
| Download audio to disk | ✅ /audio |
❌ Browser only | NO |
| YouTube subscriptions | ✅ Auto-check | ❌ None | NO |
| State tracking | ✅ JSON file | ❌ Stateless | NO |
| yt-dlp backend | ✅ | ✅ | Yes |
| Disk integration (Navidrome scans) | ✅ | ❌ | NO |
Result: Reverted. Cobalt is API-based/stream-to-browser, not a drop-in replacement for MeTube's server-side download workflow.