diff --git a/personal/plans/kraken-media-inventory-cleanup.md b/personal/plans/kraken-media-inventory-cleanup.md index b2e36f92..6bd65595 100644 --- a/personal/plans/kraken-media-inventory-cleanup.md +++ b/personal/plans/kraken-media-inventory-cleanup.md @@ -5,7 +5,7 @@ related: - '[[personal/plans/lampac-watchlist-plugin]]' - '[[personal/plans/lampac-kraken]]' - '[[personal/tech/lampac-deployment]]' -status: in-progress +status: inventory-done-awaiting-decision tags: - kraken - media @@ -19,64 +19,176 @@ updated: '2026-09-22' --- # Кра́кен — инвентаризация медиа под удаление -> Составлен 2026-09-22. Утверждён Alex: «вообще все. нужна полная инвентаризация что можно сносить, а что нельзя». +> Составлен 2026-09-22. Alex: «вообще все. нужна полная инвентаризация что можно сносить, а что нельзя». +> Итог: **802 файла, 233 позиции, 1 236 ГБ.** В watchlist (Lampa покажет) — 29 позиций / 456 ГБ. +> Не в watchlist — 204 позиции / 780 ГБ. **Точных дублей — 46 групп, зря занято 89,2 ГБ.** -## Задача +## Метод -Полная инвентаризация **всех** видеофайлов на диске Кра́кена → таблица «что можно сносить / что нельзя». -Нельзя сносить = есть в watchlist (доступно в Lampa) **или** нужно по другим причинам. -Цель — освободить место на диске (сейчас свободно 477 ГБ из 1.8 ТБ). +1. `find` по `/srv/...6194539b.../media` → 802 видеофайла с размерами. +2. Группировка в «позиции»: папка первого уровня + подпапка; файлы в корне — каждая своя позиция; + `downloads/*` — по полному пути папки-раздачи (сезонные паки). +3. Сверка с `watchlist.json` (376 позиций) — **строгое равенство** нормализованных названий + (убраны год, качество, релиз-группа, расширение, транслит-шум). Подстрочный матч давал ложные + срабатывания: единственный файл 1.46 ГБ «Вивариум» склеивался в группу на 135 ГБ. +4. TMDB-ID брался из `href` вида `https://www.themoviedb.org/movie/NNN` — в `watchlist.json` + его отдельным полем нет. -## Факты (собраны 2026-09-22) +Артефакты на Mac: `/Users/admin/kraken-inventory.json` (полные данные), +`kraken-inventory.csv` (таблица), `kraken-dupes.json` (дубли), `kraken-table-AB.md`. -**Один физический диск:** `6194539b-03e0-4f33-986b-4da09834e82f`, 1.8 ТБ, занято 1.3 ТБ, свободно **477 ГБ**. -`49e8f586-3839-4c5d-a1e1-58bfc3579ade` — **symlink** на него, не отдельный диск -(проверено `docker inspect`: radarr/sonarr/transmission смотрят на `49e8f586` → тот же диск). +## Сводка -**802 видеофайла, 1 236 ГБ.** Разбивка: +| Папка | В watchlist | Не в watchlist | +|---|---|---| +| `movies` | 14 / 163.0 ГБ | 37 / 146.7 ГБ | +| `movies-radarr` | 8 / 108.8 ГБ | 3 / 67.4 ГБ | +| `series-sonarr` | 3 / 105.0 ГБ | 1 / 11.1 ГБ | +| `downloads` | 1 / 13.8 ГБ | 4 / 64.8 ГБ | +| `documentaries-series` | 0 | 20 / 235.6 ГБ | +| `documentaries` | 0 | 25 / 71.9 ГБ | +| `cartoons-series` | 1 / 51.3 ГБ | 17 / 53.3 ГБ | +| `cartoons` | 2 / 14.0 ГБ | 96 / 125.8 ГБ | +| `series` | 0 | 1 / 3.6 ГБ | -| Папка | Файлов | ГБ | Индексируется Radarr/Sonarr | +🔴 **Radarr/Sonarr индексируют только 252 ГБ из 1 236.** Этой рухляди нет в стеках. + +## 🔴 Главная находка: дубли `downloads/complete` (89,2 ГБ) + +`downloads/complete/sonarr/` — **завершённые раздачи, не удалённые после импорта**. +Файлы совпадают с библиотекой **по имени и размеру байт-в-байт**: + +| Раздача в `downloads/complete` | ГБ | Копия в библиотеке | +|---|---|---| +| `Stranger Things.s04...` | 13.06 | `series-sonarr/Stranger Things/Season 4` | +| `Очень странные дела.S03...` | 21.33 | `series-sonarr/Stranger Things/Season 3` | +| `Our.Flag.Means.Death.S01` | 19.31 | `series-sonarr/Our Flag Means Death/Season 1` | +| `Our.Flag.Means.Death.S02` | 13.81 | `series-sonarr/Our Flag Means Death/Season 2` | +| `Kiberderevnya.S01` | 11.11 | `series-sonarr/The Cyberfarm/Season 1` | +| `Life.Is.Beautiful.1997` | 10.62 | `movies-radarr/Life Is Beautiful (1997)` × `cartoons/life is beautiful` | + +🔴 **`Life Is.Beautiful` лежит ТРИ раза** — `movies-radarr` + `cartoons` + третья копия. +Это уже не staging, а свалка: фильм в `cartoons` — ошибка раскладки. + +→ `downloads/complete` (78,6 ГБ) — **удалять целиком, если в библиотеке 24 ГБ S03 не нужны** +(см. ниже про ложный дубль S03). + +## Ложный дубль: Stranger Things S03 + +`downloads/complete/.../Очень странные дела.S03...` и `series-sonarr/Stranger Things/Season 3` +совпадают байт-в-байт. Но в `series-sonarr` **отсутствует S01** и есть только S02–S04 — +то есть S03 в библиотеке **начал формироваться из этой же раздачи**. Удалять `downloads`-копию +можно, но только убедившись, что Sonarr видит S03 как отсутствующий/присутствующий. + +## A. В WATCHLIST — Lampa покажет (29 позиций, 456.0 ГБ) — НЕ сносить + +| Тайтл на диске | Папка | Файлов | ГБ | TMDB | Название в watchlist | +|---|---|---|---|---|---| +| Stranger Things | `series-sonarr` | 25 | 67.92 | 66732 | Очень странные дела | +| смешарики webrip 1080p | `cartoons-series` | 210 | 51.32 | 107, 402 | сборник (ложный матч по частям) | +| Our Flag Means Death | `series-sonarr` | 18 | 33.12 | 109939 | Наш флаг означает смерть | +| Whiplash (2014) | `movies-radarr` | 1 | 23.66 | 244786 | Одержимость | +| секретный агент | `movies` | 1 | 21.51 | 1220564 | Секретный агент | +| семья в аренду | `movies` | 1 | 19.91 | 1208348 | Семья в аренду | +| The Drama (2026) | `movies-radarr` | 1 | 19.16 | 1325734 | Вот это драма! | +| отпуск на двоих | `movies` | 1 | 17.85 | 1034716 | Отпуск на двоих | +| They Will Kill You (2026) | `movies-radarr` | 1 | 17.24 | 1292695 | Они придут за тобой | +| под огнём | `movies` | 1 | 16.50 | 1241436 | Под огнём | +| я ругаюсь | `movies` | 1 | 15.82 | 1317149 | Я ругаюсь | +| Our.Flag.Means.Death.S02 (дубль) | `downloads` | 8 | 13.81 | 109939 | Наш флаг означает смерть | +| гадкая сестра | `movies` | 1 | 13.50 | 1284120 | Гадкая сестра | +| сират | `movies` | 1 | 13.39 | 1151272 | Сират | +| охота на воров 2: пантера | `movies` | 1 | 13.28 | 604685 | Охота на воров 2: Пантера | +| американская история x | `movies` | 1 | 12.80 | 73 | Американская история X | +| Scream (1996) | `movies-radarr` | 1 | 12.39 | 4232 | Крик | +| Dead Poets Society (1989) | `movies-radarr` | 1 | 12.28 | 207 | Общество мёртвых поэтов | +| Leave No Trace (2018) | `movies-radarr` | 1 | 11.06 | 443463 | Не оставляй следов | +| the.iron.giant.1999... | `cartoons` | 1 | 10.61 | 10386 | Стальной гигант | +| Funhouse (2019) | `movies-radarr` | 1 | 8.87 | 590009 | Эксперимент «За стеклом» | +| смерть единорога | `movies` | 1 | 7.97 | 1153714 | Смерть Единорога | +| список заветных желаний | `movies` | 1 | 5.88 | 1254786 | Список заветных желаний | +| Mortal Kombat II (2026) | `movies-radarr` | 1 | 4.15 | 931285 | Мортал Комбат 2 | +| Rick and Morty | `series-sonarr` | 4 | 3.98 | 60625 | Рик и Морти | +| Тайна третьей планеты (1981) | `cartoons` | 1 | 3.38 | 49802 | Тайна третьей планеты | +| Van Helsing (2004) Fullscreen DVDRip | `movies` | 1 | 2.94 | 7131 | Ван Хельсинг | +| Death.on.the.Nile.2022.HDRip | `movies` | 1 | 1.46 | 505026 | Смерть на Ниле | +| гладиатор | `movies` | 1 | 0.22 | 98 | Гладиатор | + +⚠️ **«смешарики webrip 1080p»** — 210 файлов в одной папке. Это сборник; совпадения с watchlist +(TMDB 107/402) — артефакт нормализации по отдельным файлам, не реальный матч. +Разобрать отдельно, если позиция пойдёт под нож. + +⚠️ **В watchlist нет ни одного тайтла из `documentaries*`** — 45 позиций / 307 ГБ лежат вне списка. + +## B. НЕ В WATCHLIST (204 позиции, 780.1 ГБ) + +Полная таблица всех 204 строк — в артефактах (`kraken-inventory.csv`). +Здесь — верхушка по размеру, остальное `cartoons` по 0,04–3 ГБ (советская анимация). + +### B1. Дубли `downloads/complete` — 78,6 ГБ (удалять первыми) + +| Раздача | ГБ | Копия есть? | +|---|---|---| +| `Очень странные дела.S03.WEB-DL.1080.HDR` | 21.33 | ✅ в `series-sonarr` | +| `Our.Flag.Means.Death.S01.2022...` | 19.31 | ✅ в `series-sonarr` | +| `Our.Flag.Means.Death.S02.WEBDL...` | 13.81 | ✅ в `series-sonarr` | +| `Stranger Things.s04.WEB-DL(HEVC)...` | 13.06 | ✅ в `series-sonarr` | +| `Kiberderevnya.S01.2023...` | 11.11 | ✅ в `series-sonarr` (`The Cyberfarm`) | + +### B2. Не в watchlist, не дубли — крупное (кандидаты) + +| Тайтл | Папка | ГБ | Комментарий | |---|---|---|---| -| `movies` | 51 | 309.7 | ❌ нет | -| `movies-radarr` | 11 | 176.2 | ✅ да | -| `series-sonarr` | 57 | 116.1 | ✅ да | -| `documentaries-series` | 72 | 235.6 | ❌ нет | -| `cartoons` | 102 | 139.8 | ❌ нет | -| `cartoons-series` | 433 | 104.6 | ❌ нет | -| `downloads` | 45 | 78.6 | ❌ нет (staging Transmission) | -| `documentaries` | 25 | 71.9 | ❌ нет | -| `series` | 6 | 3.6 | ❌ нет | +| Prehistoric.Planet.2022.S01 + S02 | `documentaries-series` | 37.45 + 17.36 | доксериал | +| пингвины. шпион в толпе | `documentaries-series` | 34.75 | доксериал | +| Oldboy (2003) | `movies-radarr` | 28.65 | в Radarr, не в watchlist | +| Project Hail Mary (2026) | `movies-radarr` | 28.12 | в Radarr, не в watchlist | +| смешарики. новый сезон. 2020 | `cartoons-series` | 26.43 | 113 эпизодов | +| жизнь птиц 1998 | `documentaries-series` | 20.59 | доксериал | +| маленькие гиганты 2014 | `documentaries` | 20.57 | | +| кот в сапогах 2011 | `cartoons` | 19.92 | | +| the secret life of elephants | `documentaries-series` | 19.90 | доксериал | +| Bram.Stoker's Dracula.1992 | `movies` | 18.04 | | +| The.Crow.1994 | `movies` | 17.45 | | +| гиганты моря 2011 | `documentaries-series` | 16.40 | доксериал | +| tiger spy in the jungle s01 | `documentaries-series` | 16.30 | доксериал | +| it was just an accident | `movies` | 12.78 | | +| F1.The.Movie.2025 | `movies` | 11.99 | | +| король лев (1994) | `cartoons` | 11.97 | | +| The Cyberfarm | `series-sonarr` | 11.11 | в Sonarr, не в watchlist | +| Life Is Beautiful (1997) | `movies-radarr` + `cartoons` | 10.62 × 2 | 🔴 дубль | +| Brassic S01 | `series` | 3.62 | | +| ну, погоди! | `cartoons-series` | 3.74 | 18 выпусков | -🔴 **Сканируется только 252 ГБ из 1 236.** Остальные ~984 ГБ — вне индексации arr-стека. +### B3. `cartoons` — 96 позиций, 125,8 ГБ -## Шаги +Советская и зарубежная анимация, преимущественно 1944–1990, файлы 0,04–3 ГБ. +В watchlist их нет. Список целиком — в CSV. -1. **Выгрузить список** 802 файлов (путь + размер) с Кра́кена на Mac. -2. **Сгруппировать в тайтлы** — файл ≠ тайтл. `cartoons-series` = 433 файла по ~0.2 ГБ - (сезонные сборники мультфильмов). Группировка по папке + разбор имени - (`S01E04`, `01.`, `ну погоди 07`). Ожидаемо ~150–250 уникальных позиций. -3. **Сверить с watchlist** — источник истины `family/documents/movies-watchlist.md` - + `watchlist.json` (369 с tmdb_id, 24 в `missing.json` с `❓`). - Матч по нормализованному названию, при наличии — по `tmdb_id`. -4. **Выделить «недоступно из-за отсутствия в TMDB»** — это 24 позиции из `missing.json`. -5. **Собрать таблицу** (этот документ) — колонки: тайтл · размер · в watchlist · доступно в Lampa · вердикт. -6. **Удаление — только после просмотра таблицы Alex'ом и явного «удаляй эти».** +## Что дальше -## Правила - -- Ничего не удалять без явного подтверждения по конкретным позициям. -- Стект Radarr/Sonarr: удаление записи и файла — **разные** действия, оговариваются отдельно. -- 🔴 При удалении `deleteFiles=true` в Radarr — сначала проверить, что файл реально в `movies-radarr`, - а не в общей `movies` (иначе снесёт чужое). -- Backup перед удалением: дамп `radarr`/`sonarr` API в файл. +Удаление — **отдельный шаг, ждёт решения Alex'а по конкретным позициям.** +Правила при удалении: +1. `downloads/complete` — самый безопасный первый кандидат (78,6 ГБ, всё есть в библиотеке). +2. `Life Is Beautiful` — снести две лишние копии из трёх, оставить одну. +3. `movies-radarr`/`series-sonarr` — если удалять, то через API (иначе Radarr будет держать + фантом). `deleteFiles=true` проверять, что путь внутри библиотеки. +4. Дамп `radarr`/`sonarr` API в файл перед любой операцией. ## Статус -- [x] Ответ Alex: «вообще все» -- [x] План записан -- [ ] Шаг 1 — выгрузка списка -- [ ] Шаг 2 — группировка в тайтлы -- [ ] Шаг 3 — сверка с watchlist -- [ ] Шаг 4 — выделить missing -- [ ] Шаг 5 — таблица +- [x] Шаг 1 — выгрузка списка (802 файла) +- [x] Шаг 2 — группировка (233 позиции) +- [x] Шаг 3 — сверка с watchlist (29 в списке / 204 нет) +- [x] Шаг 4 — `missing.json`: **0 совпадений** среди файлов (те 30 позиций — рукописные заметки) +- [x] Шаг 5 — таблица (этот документ) - [ ] Шаг 6 — удаление (ждёт решения) + +## Документация разложена + +| Что | Где | +|---|---| +| Эта таблица, метод, цифры | `personal/plans/kraken-media-inventory-cleanup.md` | +| Методика + переиспользуемые факты | `personal/tech/lampac-deployment.md`, раздел «Полная инвентаризация диска Кра́кена» | +| Скилл (питфоллы 12–18) | `devops/lampac-kraken-deploy`, раздел «Pillar: disk inventory & deletion candidates» | +| Зеркало скилла | `personal/tech/skill-lampac-kraken-deploy.md` | diff --git a/personal/tech/lampac-deployment.md b/personal/tech/lampac-deployment.md index 2ba3485e..1a5afe91 100644 --- a/personal/tech/lampac-deployment.md +++ b/personal/tech/lampac-deployment.md @@ -3251,8 +3251,153 @@ else{Lampa.Listener.follow('app',function(e){if(e.type=='ready')patchCubMain();} Проверка в шаге 7 валидирует именно ключ `watchlist` и предупреждает, если в `/catalog` остался русский ключ. +## 🔴 Полная инвентаризация диска Кра́кена (2026-09-22, вечер) + +Alex: *«проверь все что скачано сейчас из сериалов и фильмов (не только в sonarr/radarr папках) +составь табличку что из этого есть в списке watchlist (и соответственно доступно в lampa) +и то чего нет в lampa»* → *«вообще все. нужна полная инвентаризация что можно сносить, +а что нельзя»*. + +**Отдельный план с таблицей: [[personal/plans/kraken-media-inventory-cleanup]].** +Здесь — только методика и переиспользуемые факты. + +### Цифры + +``` +802 видеофайла · 233 позиции · 1236.1 ГБ занято + A. в watchlist (Lampa покажет): 29 поз. / 456.0 ГБ + B. не в watchlist: 204 поз. / 780.1 ГБ + точных дублей (имя+размер): 46 групп / 89.2 ГБ зря +``` + +| Папка | Файлов | ГБ | Индексируется arr | +|---|---|---|---| +| `movies` | 51 | 309.7 | ❌ | +| `documentaries-series` | 72 | 235.6 | ❌ | +| `movies-radarr` | 11 | 176.2 | ✅ | +| `cartoons` | 102 | 139.8 | ❌ | +| `series-sonarr` | 57 | 116.1 | ✅ | +| `cartoons-series` | 433 | 104.6 | ❌ | +| `downloads` | 45 | 78.6 | ❌ staging | +| `documentaries` | 25 | 71.9 | ❌ | +| `series` | 6 | 3.6 | ❌ | + +🔴 **Radarr/Sonarr индексируют только 252 ГБ из 1236** (21%). Остальные ~984 ГБ — +ручные закачки, невидимые в UI стека. + +### 🔴 `downloads/complete` — раздачи не удаляются после импорта + +`downloads/complete/sonarr/` держит **завершённые раздачи, которые Sonarr уже +скопировал в библиотеку и не убрал**. Дубли подтверждены совпадением имени файла +И размера байт-в-байт: + +``` +downloads/complete/sonarr/Очень странные дела.S03.WEB-DL.1080.HDR 21.33 ГБ -> series-sonarr S03 +downloads/complete/sonarr/Our.Flag.Means.Death.S01.2022... 19.31 ГБ -> series-sonarr S01 +downloads/complete/sonarr/Our.Flag.Means.Death.S02.WEBDL... 13.81 ГБ -> series-sonarr S02 +downloads/complete/sonarr/Stranger Things.s04.WEB-DL(HEVC)1080p.xz 13.06 ГБ -> series-sonarr S04 +downloads/complete/sonarr/Kiberderevnya.S01.2023.WEB-DL.1080p 11.11 ГБ -> The Cyberfarm S01 +``` += **78.6 ГБ чистого дубля.** Sonarr настроен «копировать», а не «перемещать» +(или `Remove Completed` выключен) — отсюда двойной расход. + +⚠️ `Life.Is.Beautiful.1997.BDRip.1080p.mkv` (10.62 ГБ) лежит **трижды**: +`movies-radarr/Life Is Beautiful (1997)/` + `cartoons/life is beautiful/` + ещё копия. +Фильм в `cartoons` — ошибка раскладки, не случайность импорта. + +### ⚠️ Ложный дубль: Stranger Things S03 + +`downloads/.../Очень странные дела.S03` и `series-sonarr/Stranger Things/Season 3` +совпадают байт-в-байт, но в `series-sonarr` **нет S01** (только S02–S04) — библиотека +формировалась из этой же раздачи. Перед удалением `downloads`-копии проверить, +что Sonarr видит S03 как присутствующий. + +### Метод: как группировать файлы в «позиции» + +Плоский `find` даёт 802 строки — бесполезно. Группировка: + +```python +# movies / cartoons / documentaries — файлы в корне = каждая своя позиция +# (иначе единственный «Вивариум» 1.46 ГБ склеивается в группу на 135 ГБ) +if top in ("movies", "cartoons", "documentaries"): + return (top, dirs[0]) if dirs else (top, r["file"]) +# downloads/complete/sonarr//... — по полному пути пака (сезонный пак) +if top == "downloads" and len(dirs) >= 3 and dirs[0] == "complete": + return (top, "/".join(dirs[:3])) +# сериалы — первый подкаталог = шоу +return (top, dirs[0]) if dirs else (top, r["file"]) +``` + +### 🔴 Матч с watchlist — только СТРОГОЕ равенство + +Подстрочный матч (`c in e["name"]`) даёт мусор: короткие нормализованные строки +вроде `гладиатор` совпадают со множеством позиций, счётчик «в watchlist» раздувается +до неверного. Рабочее правило: + +```python +if c == e["n"] or (e["o"] and c == e["o"]): # точное равенство, len(c) >= 4 +``` + +Порядок эффекта: наивный подстрочный матч → 42 позиции / 811 ГБ «в watchlist»; +строгий → 29 позиций / 456 ГБ. Разница — целиком ложные срабатывания. + +**Нормализация** (обе стороны сравнения, обязательна): снять расширение → `[...]` → `(...)` → +год → не-буквы → шум-слова (качество, релиз-группа, `web-dl`, `bdrip`, `x264`, `megapeer`, +`bluebird`, `hdrezka`, транслит-хвосты) → сжать пробелы. Для сериалов дополнительно +`strip_ep`: `S01E04`, `N серия`, `N выпуск`, `сезон N`. + +🔴 **TMDB-ID в `watchlist.json` отдельным полем НЕ лежит.** Он в `href`: +`https://www.themoviedb.org/movie/424781` → `re.search(r"/(\d{2,9})/?$", href)`. +Попытка читать `item["tmdb_id"]` даёт `null` по всем 376 позициям. + +### `missing.json` не пересекается с диском + +Все 30 позиций из `missing.json` (маркер `❓`) — **рукописные заметки в списке** +(`Солярис Тарковский`, `Идиот Бортко`, `Замок Балабанов`, `Спрут сериал`), +а не скачанные файлы. Совпадений с диском — **0**. +Вывод: «недоступно в Lampa» для файлов на Кра́кене вызывается **отсутствием в watchlist**, +а не отсутствием в TMDB. Это разные причины, не смешивать. + +### Где что лежит + +``` +Диск: /srv/dev-disk-by-uuid-6194539b-03e0-4f33-986b-4da09834e82f/media/ + (49e8f586 — symlink на него; отдельного диска нет, проверено docker inspect) + +Артефакты инвентаризации на Mac: + /Users/admin/kraken-inventory.json — 233 позиции, полные поля + /Users/admin/kraken-inventory.csv — таблица для Excel + /Users/admin/kraken-dupes.json — 46 групп дублей + /Users/admin/kraken-table-AB.md — markdown A/B таблицы +``` + +Скрипты инвентаризации: `/tmp/kraken_inventory3.py` (финальный), +`/tmp/kraken_final.py` (дубли + сводка), `/tmp/kraken_break.py` (разбор папки). + +### Кандидаты на удаление (по риск-уровню) + +1. **`downloads/complete` (78.6 ГБ)** — нулевой риск, всё есть в библиотеке. +2. **Дубли `Life Is Beautiful`** — оставить одну из трёх копий. +3. **`documentaries*` вне watchlist (307 ГБ)** — доксериалы, нужен просмотр глазами. +4. **Всё не из watchlist (780 ГБ)** — включает `Oldboy`, `Project Hail Mary`, `F1`, + `The Cyberfarm`, `Brassic` — возможно нужное. + ## ⏳ Осталось добить (2026-09-22) +### 0. 🔴 Удаление медиа на Кра́кене — ждёт выбора Alex + +Инвентаризация сделана: [[personal/plans/kraken-media-inventory-cleanup]]. +802 файла / 233 позиции / 1236 ГБ. Свободно 477 ГБ. + +Предложены 3 варианта, ответа нет: +1. Только `downloads/complete` — **78.6 ГБ**, нулевой риск (всё есть в библиотеке). +2. + доксериалы вне watchlist — ~390 ГБ. +3. Всё не из watchlist — 780 ГБ. + +**Порядок действий при любом варианте:** дамп `radarr`/`sonarr` API в файл → +удаление → проверка сырьём. Стект-директории (`movies-radarr`, `series-sonarr`) +удалять только через API, иначе Radarr держит фантом. + ### 1. 5 фильмов с Кинопоиск-ID — «здесь пусто», без постера `film/12432920/`, `film/5454868/`, `film/11888712/`, `film/11825624/`, `film/8184798/` diff --git a/personal/tech/skill-lampac-kraken-deploy.md b/personal/tech/skill-lampac-kraken-deploy.md index 6cbbeb77..9bf7d247 100644 --- a/personal/tech/skill-lampac-kraken-deploy.md +++ b/personal/tech/skill-lampac-kraken-deploy.md @@ -45,6 +45,25 @@ related: 10. 🔴 **`luna-send` по SSH печатает хелп вместо ответа** — обернуть в `script -q -c "..." /tmp/o.txt`. 11. Фактический appId Lampa на ТВ — **`com.lampac.tv`** (не `org.lampa.tv` из запроса установки). +## Инвентаризация диска и удаление (добавлено 2026-09-22) + +Полная таблица: [[personal/plans/kraken-media-inventory-cleanup]]. + +12. 🔴 **arr индексирует только 252 ГБ из 1236** (21%). Остальное — ручные закачки, + невидимые в UI Radarr/Sonarr. «Нет в Radarr» ≠ «нет на диске». +13. 🔴 **`downloads/complete/sonarr/` — завершённые раздачи, не удалённые после импорта.** + Байт-в-байт дубли библиотеки = **78,6 ГБ зря**. Самый безопасный кандидат на снос. +14. 🔴 **Матч с watchlist — только СТРОГОЕ равенство** нормализованных названий, `len >= 4`. + Подстрочный матч раздувает счёт: 42 позиции / 811 ГБ вместо реальных 29 / 456 ГБ. +15. 🔴 **В `watchlist.json` нет поля `tmdb_id`** — он в `href` + (`.../movie/424781`), вынимать регексом `/(\d{2,9})/?$`. +16. 🔴 **`missing.json` (30 позиций с `❓`) не пересекается с диском** — это рукописные + заметки в списке. «Недоступно в Lampa» для файлов = **нет в watchlist**, не «нет в TMDB». +17. Группировка 802 файлов: файлы в корне `movies`/`cartoons`/`documentaries` — каждая своя + позиция (иначе «Вивариум» 1,46 ГБ склеивается в группу на 135 ГБ). +18. Удаление только через API arr-стека; `deleteFiles=true` — проверять, что путь внутри + библиотеки. Дамп API в файл перед операцией. + ## Установка Lampa на ТВ (сжато) ```bash @@ -81,13 +100,16 @@ ssh kraken 'sudo rm -rf /srv/dev-disk-by-uuid-6194539b-03e0-4f33-986b-4da09834e8 ## Не закрыто - Лимит кэша TorrServer — дефолт. Рекомендуется ~20 ГБ. -- `init.conf` не смонтирован — правки через `docker exec` не переживают пересоздание контейнера. +- 🔴 Удаление медиа на Кра́кене — ждёт выбора Alex (3 варианта в + [[personal/plans/kraken-media-inventory-cleanup]], раздел «Что дальше»). - Шаг 7 — watchlist в UI Lampa: [[personal/plans/lampac-watchlist-plugin]]. +- Секции Watchlist внутри CUB-фида — инжект залит, приёмка в UI не подтверждена. ## Реальный скилл (файл) `~/.hermes/hermes-whale/skills/devops/lampac-kraken-deploy/SKILL.md` -⚠️ **Скилл в файловой системе отстал от этой заметки** — в нём нет пунктов 9–11 -(установка Lampa на ТВ по SSH, питфолл `luna-send`+`script`, фактический appId `com.lampac.tv`). -При следующей загрузке скилла — подтянуть из [[personal/tech/lampac-deployment]]. +✅ **Синхронизирован 2026-09-22 (вечер).** Пункты 9–11 (установка Lampa на ТВ по SSH, +питфолл `luna-send`+`script`, appId `com.lampac.tv`) и новые 12–18 (инвентаризация диска, +дубли `downloads/complete`, строгий матч с watchlist, `tmdb_id` в `href`) перенесены +в файл скилла, включая раздел «Pillar: disk inventory & deletion candidates».