From 91a6b157b42dbfda9ca578d4b24c72983386522d Mon Sep 17 00:00:00 2001 From: Alexey Martemyanov Date: Mon, 28 Sep 2026 23:46:59 +0600 Subject: [PATCH] [2026-09-28] eagle: family/plans/lidarr-artist-watchlist.md personal/music-download-practices.md --- family/plans/lidarr-artist-watchlist.md | 7 ++++ personal/music-download-practices.md | 44 +++++++++++++++++++++++++ 2 files changed, 51 insertions(+) diff --git a/family/plans/lidarr-artist-watchlist.md b/family/plans/lidarr-artist-watchlist.md index aacf7679..a517e8b1 100755 --- a/family/plans/lidarr-artist-watchlist.md +++ b/family/plans/lidarr-artist-watchlist.md @@ -41,6 +41,13 @@ proxyBypassLocalAddresses: true **`docker restart lidarr` выполнен — НЕ помог.** Контейнер стартовал 09:28 UTC, конфиг правился позже, рестарт применён — поведение не изменилось. **Гипотезы (по убыванию вероятности):** + +> ⏭ **СЛЕДУЮЩЕЕ ДЕЙСТВИЕ (одна правка, ждёт «пробуй» от Alex):** переключить +> `proxyBypassLocalAddresses` в `false` (`PUT /api/v1/config/host/1`) → прогонять +> `artist/lookup?term=Astrix`. Не поможет — гипотеза №2 (IPv6 у Cloudflare против IPv4-only прокси). +> Полный разбор дефекта и диагностическая триада — в скилле `arr-media-stack-setup` и +> [[personal/tech/skill-arr-media-stack-setup-additions]] §6. + 1. `proxyBypassLocalAddresses: true` — Lidarr может считать Cloudflare-адрес локальным. **Проверить с `false`** (одна правка + read-back). 2. `api.lidarr.audio` резолвится **в IPv6** (`2606:4700:...`), а HTTP-прокси `vless-proxy:1081` — IPv4-only → CONNECT к IPv6-цели падает → Lidarr откатывается на прямое соединение. **Проверить `curl -x http://vless-proxy:1081 -6`** из контейнера. 3. Проверить health-чек целиком: `GET /api/v1/health` отдаёт **`[]`** (пусто), хотя `ProxyCheck failed` пишется в лог — значит **UI health-кэш не показывает реальную ошибку**. Это отдельный питфолл. diff --git a/personal/music-download-practices.md b/personal/music-download-practices.md index b308c210..5823eef2 100755 --- a/personal/music-download-practices.md +++ b/personal/music-download-practices.md @@ -223,9 +223,53 @@ TrueNAS без дополнительных сервисов HTTP не отда --- +## Анализ «что слушаю vs что лежит» — дельта библиотеки + +Задача: «чего у меня мало / нет по сравнению с тем, что я слушаю». Рабочий метод (2026-09-28). + +### 🔴 Владение музыкой брать из БД Navidrome, НЕ обходом папок + +`Music/` на Тайге **плоская** (`!Rock&Folk`, `!Retro`, `z Другое` — категории, не `Artist/Album`), +поэтому листинг каталогов про владение **не говорит ничего**. Источник истины — Navidrome, +он читает **теги**: + +```bash +ssh truenas_admin@mallexxx.duckdns.org \ + "docker exec navidrome sqlite3 'file:/data/navidrome.db?mode=ro' \ + \"SELECT ar.name, COUNT(mf.id) FROM artist ar \ + LEFT JOIN media_file mf ON mf.artist_id=ar.id GROUP BY ar.id ORDER BY 2 DESC;\"" +``` + +⚠️ Только `file:...?mode=ro` — `cp` живой БД опасен (активен WAL). `sqlite3` в контейнере **есть**. +Отдельно: `SELECT COUNT(*) FROM media_file` → всего треков (7791 на 2026-09-28). + +### Дельта против стриминга + +Экспорты — `personal/spotify-library.md`, `personal/yandex-music-library.md` (markdown-таблицы). +Вес сигнала: **лайк = 3**, **плейлист = 2**. Правило отбора кандидатов на добор: +`lib_score ≥ 6` И `nas_tracks ≤ 5`. + +🔴 **Три ловушки, которые уже давали кривые числа:** +1. **Коллаборации надо сплитить** — `"Infected Mushroom, Skazi"` это ДВА артиста в одной ячейке. + Сплит по `, & ; / feat. ft. vs` и по ` x ` **только латиница** (`Пионерлагерь` нельзя резать по `х`). +2. **`Polo` / `Pan` / `Bits` / `Hits` — артефакты сплита**, не артисты (из `"Polo & Pan"`). Нужен + NOISE-блоклист, иначе верх рейтинга забивается мусором. +3. **Один и тот же артист под двумя кредитами** — реальный пример: `Пионерлагерь Пыльная Радуга` + и `Алексей Пыльная Радуга Румянцев` (сольные работы). Матчить по вхождению. + +⚠️ **Единица счёта обязательна:** `артисты ≠ треки ≠ файлы`. `nas_tracks` = число `media_file`, +не папок. + +### Результат 2026-09-28 + +960 артистов в стриминге ↔ 1207 в Navidrome ↔ **1 в Lidarr** → **195** «слушаю много / лежит мало», +из них **165** = 0 файлов. Отчёт: [[family/plans/lidarr-artist-watchlist]]. + ## Связанные документы - [[personal-os-architecture]] +- [[family/plans/lidarr-artist-watchlist]] — список артистов для Lidarr + дельта библиотеки +- [[family/how-to/navidrome-truenas-android]] — Navidrome на Тайге --- *Создано: 2026-05-09 | Сессия: загрузка ~165 треков на SD-карту*