[2026-09-28] eagle: family/plans/lidarr-artist-watchlist.md personal/music-download-practices.md

This commit is contained in:
Alexey Martemyanov committed 2026-09-28 23:46:59 +06:00
1 parent 0f352f3bca
commit 91a6b157b4
2 files changed
+51

No files matched your search

+7
View File
@@ -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-кэш не показывает реальную ошибку**. Это отдельный питфолл.
+44
View File
@@ -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-карту*