Files
obsidian-vault/personal/plans/kraken-media-inventory-cleanup.md
T

45 KiB
Raw Blame History

created, namespace, related, status, tags, title, type, updated
created namespace related status tags title type updated
2026-09-22 personal
personal/plans/lampac-watchlist-plugin
personal/plans/lampac-kraken
personal/tech/lampac-deployment
personal/tech/kraken-truenas-media-copies
deleted-765gb-done-arr-phantoms-cleared-jellyfin-rescan-pending
kraken
media
cleanup
watchlist
lampac
disk-space
transmission
truenas
radarr
sonarr
jellyfin
Кра́кен — инвентаризация медиа под удаление plan 2026-09-22

Кра́кен — инвентаризация медиа под удаление

Составлен 2026-09-22. Alex: «вообще все. нужна полная инвентаризация что можно сносить, а что нельзя». Итог: 802 файла, 233 позиции, 1 236 ГБ. В watchlist (Lampa покажет) — 29 позиций / 456 ГБ. Не в watchlist — 204 позиции / 780 ГБ. Точных дублей — 46 групп, зря занято 89,2 ГБ.

✅ ВЫПОЛНЕНО 2026-09-22: освобождено 765 ГБ. Диск 1,3 ТБ → 511 ГБ занято / 1,2 ТБ свободно. Transmission 249 → 9 раздач. Arr-фантомы сняты (Radarr 12 → 0, Sonarr 57 → 0). Осталось: rescan Jellyfin + уборка /Users/admin/personal/.

🔴 Цифры watchlist-матча ЗАНИЖЕНЫ — требует пересчёта. Alex поймал 4 позиции, ошибочно записанные в «не в watchlist», хотя они В watchlist (см. раздел «Матч»).

🔴 Lampa играет с торрентов, НЕ с диска Кра́кена (TorrServer UseDisk: false). Файлы в media/ в воспроизведении Lampa не участвуют — снос их Lampa не ломает.

🔴 Ошибка матча (найдена Alex'ом 2026-09-22)

Первый прогон сравнивал имя файла только с русским name watchlist-позиции. Файлы, названные по оригиналу, не находились. Промахи:

Файл на диске ГБ В watchlist Русское name TMDB
Bram.Stoker's Dracula.1992 18.04 ✅ «Дракула» 6114
The.Crow.1994 17.45 ✅ «Ворон» 9495
despicable.me.4.2024 2.18 ✅ «Гадкий я 4» 519182
Вивариум_2019_BDRip 1.46 ✅ «Вивариум» 458305

27,3 ГБ записано как «не в watchlist» ошибочно — эти 4 сносить НЕЛЬЗЯ.

Правильно матчить против обоих полей (name И original) + год ±1. Год обязателен: в watchlist «Дракула» стоит трижды (1992 / 2014 / 2025), а inside out (2015) ложно матчится с «Головоломка 2» (2024) — разные фильмы.

⚠️ Oldboy (28.65 ГБ) и Project Hail Mary (28.12 ГБ) — проверены отдельно, их в watchlist правда НЕТ (0 совпадений по обоим запросам в watchlist.json). Они в Radarr, но в список не занесены. Это не ошибка матча.

Полный список перепроверки: /Users/admin/kraken-missed-matches.json. Скрипты: /tmp/kraken_fix2.py (фразовое равенство по original + год), /tmp/kraken_why.py (проверка конкретных тайтлов).

Метод

  1. find по /srv/...6194539b.../media → 802 видеофайла с размерами.
  2. Группировка в «позиции»: папка первого уровня + подпапка; файлы в корне — каждая своя позиция; downloads/* — по полному пути папки-раздачи (сезонные паки).
  3. Сверка с watchlist.json (376 позиций). Первый прогон — строгое равенство по русскому name (убраны год, качество, релиз-группа, расширение, транслит-шум). Подстрочный матч давал ложные срабатывания: единственный файл 1.46 ГБ «Вивариум» склеивался в группу на 135 ГБ. ⚠️ Строгое равенство по name тоже неполно — пропускает файлы, названные по оригиналу. Проверять против name И original, со сверкой года. Детали и промахи — в разделе «Ошибка матча» выше.
  4. TMDB-ID брался из href вида https://www.themoviedb.org/movie/NNN — в watchlist.json его отдельным полем нет.

Артефакты на Mac: /Users/admin/kraken-inventory.json (полные данные), kraken-inventory.csv (таблица), kraken-dupes.json (дубли), kraken-table-AB.md.

Сводка

Папка В 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 индексируют только 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 Гладиатор

🔴 Список НЕПОЛНЫЙ — минимум 4 позиции пропущены матчем (перечислены в разделе «Ошибка матча»): Bram.Stoker's Dracula.1992 (18.04), The.Crow.1994 (17.45), despicable.me.4.2024 (2.18), Вивариум_2019 (1.46). Итого реально в watchlist ≥33 позиции / ≥483 ГБ. После пересчёта таблицу заменить.

⚠️ «смешарики 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, не дубли — крупное (кандидаты)

Тайтл Папка ГБ Комментарий
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 🔴 В WATCHLIST — «Дракула» 1992, TMDB 6114
The.Crow.1994 movies 17.45 🔴 В WATCHLIST — «Ворон», TMDB 9495
гиганты моря 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 выпусков

B3. cartoons — 96 позиций, 125,8 ГБ

Советская и зарубежная анимация, преимущественно 1944–1990, файлы 0,04–3 ГБ. В watchlist их нет. Список целиком — в CSV.

✅ РЕШЕНИЕ ALEX: список на снос УТВЕРЖДЁН (2026-09-22)

Alex подтвердил все три вопроса: группа 4 (копий нет) — сносим, сериалы — целиком, короткометражки — оставить. Плюс отдельное указание:

«не забудь почистить transmission сначала - все что сейчас data missing + все что удаляется»

Утверждённый список — 111 позиций, 828,3 ГБ

№ Группа Позиций ГБ
1 Фильмы (полный метр) — movies + movies-radarr 62 485,9
2 Сериалы (все) — series + series-sonarr 5 119,7
3 Мультфильмы — есть копия на TrueNAS 14 30,1
4 Мультфильмы полный метр (≥0,8 ГБ), копии нет 30 192,6
ИТОГО 111 828,3

НЕ в списке: короткометражки cartoons <0,8 ГБ — 72 позиции, 21,7 ГБ (ёжик в тумане, мойдодыр, чиполлино и пр.) — оставлены по решению Alex.

Артефакт: /Users/admin/kraken-delete-draft.json Скрипт классификации: /tmp/kraken_del.py

Сверка с TrueNAS — сделана

Доксериалы/документалки копий не имеют (307 ГБ уникальны). Мультфильмы — копия есть у ~40 из ~104; группа 3 (30,1 ГБ) — именно те, что закрыты. Детали и метод: personal/tech/kraken-truenas-media-copies.

✅ ШЕСТЬ ШАГОВ — ВЫПОЛНЕНО 4 из 6 (2026-09-22)

Шаг 1 — дамп API Radarr/Sonarr ✅ ВЫПОЛНЕН

/tmp/arr-backup-20260922-215428/
  radarr-movies.json   170 КБ
  radarr-queue.json    129 Б
  radarr-status.json   868 Б
  sonarr-series.json    55 КБ
  sonarr-queue.json    129 Б
  sonarr-status.json   836 Б
Значение
Radarr 6.4.4.10685, 34 фильма, 12 с файлами, очередь 0
Sonarr 4.0.20.3014, 13 сериалов, очередь 0

🔴 У Sonarr 13 сериалов, но файлы есть только у 4 (Our Flag Means Death, Stranger Things, The Cyberfarm, Rick and Morty). Остальные 9 — фантомы (записи без файлов): Magical Police Department · The Meeting Place Cannot be Changed · MOZU · Delicious in Dungeon · Double or Quits · Severance · Futurama · True Detective · Brassic.

⚠️ Brassic — в Sonarr есть запись, на диске /media/series лежит Brassic (Season 1) (3,62 ГБ). Файлы вне библиотеки Sonarr — рассинхрон раскладки.

Шаг 2 — стоп Transmission ✅ ВЫПОЛНЕН

sudo docker stop transmission → Exited (0). Обратно поднимать после удаления раздач.

Шаг 3 — чистка раздач ⏳ ГОТОВ к запуску (план построен, см. выше)

240 id в /tmp/tr-remove-ids.txt. Механика: контейнер остановлен → правим /srv/.../docker/transmission/torrents/*.torrent + resume/*.resume + строку в settings.json.

✅✅ ВЫПОЛНЕНО 2026-09-22 (ночь) — УДАЛЕНО 693 ГБ, диск 477 ГБ → 1,2 ТБ

🔴 Раздел ниже («ШЕСТЬ ШАГОВ — ВЫПОЛНЕНО 4 из 6») описывает состояние ДО удаления. Фактически выполнены шаги 3, 4, 5, 6a. Актуальный статус — здесь.

Итог

Метрика До После
df занято 1,3 ТБ 511 ГБ
df свободно 477 ГБ 1,2 ТБ
Transmission раздач 249 9

Освобождено 765 ГБ.

Что удалено (41 путь)

Путь ГБ
media/movies 309,69
media/movies-radarr 234,59
media/series-sonarr 116,14
media/series 3,62
37 папок мультфильмов (группы 3+4) 168,3
ИТОГО ~832

Лог удаления: /tmp/delete-log-20260922-215821.txt (на Кра́кене). Скрипты: /tmp/step6_delete.sh (удаление с логом), /tmp/step7_sudo.sh (добивание каталогов).

Финальное состояние media/

.recyclebin  cartoons  cartoons-series  documentaries  documentaries-series  downloads  music

Осталось: documentaries (71,9 ГБ) · documentaries-series (235,6 ГБ) · downloads (78,6 ГБ) · короткометражки cartoons/cartoons-series.

✅ Шаг 3 — чистка Transmission ВЫПОЛНЕН

249 → 9 раздач. Метод: контейнер остановлен, но удаление сделано через RPC (поднял docker start, отправил torrent-remove, контейнер остаётся работать).

curl -s -X POST "$TS" -H "X-Transmission-Session-Id: $SID" -H 'Content-Type: application/json' \
  -d '{"method":"torrent-remove","arguments":{"ids":[<240 id>],"delete-local-data":false}}'

🔴 "delete-local-data": false — снимает раздачу со списка, файлы не трогает. Файлы удалены отдельным шагом (шаг 4).

🔴 Питфолл: Transmission ПЕРЕСОЗДАЁТ раздачи с новыми id. После первого torrent-remove на 240 id осталось 17, а не 9 — 8 раздач вернулись с новыми id (223, 233, 234, 236, 238, 241, 244, 247). Долечены вторым проходом по downloadDir, затем третьим — Babylon (/downloads/radarr, префикс не попал в фильтр).

Вывод: чистить не по id, а по downloadDir, и проверять счётчик после каждого прохода до сходимости. Скрипты: /tmp/step4_tr_remove.sh (по id), /tmp/step5_tr_clean2.sh (по downloadDir), добивание Babylon id=236.

✅ Шаг 4 — удаление файлов ВЫПОЛНЕН

41 путь из /tmp/delete-manifest.txt. Скрипт с защитой: отказ при числе строк ≠ 41.

🔴 Питфолл: каталоги верхнего уровня требуют sudo. Первый прогон удалил всё содержимое, но 4 каталога вернули Permission denied:

rm: cannot remove '.../media/movies': Permission denied

Причина: сами каталоги root:root, хотя содержимое kraken:kraken. Второй прогон sudo rmdir — сработал (каталоги к тому моменту были пусты).

Ошибка в скрипте: не различал «не удалить содержимое» и «не удалить каталог». Проверять оба уровня: содержимое — rm -rf, сам каталог — sudo rmdir.

✅ Шаг 5 — rescan ВЫПОЛНЕН, но фантомы остались

curl -sL -X POST -H "X-Api-Key: $RKEY" -H 'Content-Type: application/json' \
  -d '{"name":"RescanMovie"}'  "http://127.0.0.1:7878/radarr/api/v3/command"
curl -sL -X POST -H "X-Api-Key: $SKEY" -H 'Content-Type: application/json' \
  -d '{"name":"RescanSeries"}' "http://127.0.0.1:8989/sonarr/api/v3/command"

Rescan не почистил — файлы исчезли ДО скана, трекеры приросли к старым записям:

Стек Фантомов
Radarr 12 фильмов «с файлами»
Sonarr 57 эпизодов (Our Flag Means Death 18, Stranger Things 25, Cyberfarm 10, Rick and Morty 4)

Jellyfin: /health → 302 (жив).

🔴 Шаг 5b — фантомы arr: DELETE падает с 409 (НЕ ЗАКРЫТО)

Попытка снять записи через API:

curl -sL -X DELETE -H "X-Api-Key: $RKEY" "$R/api/v3/moviefile/$FID"   # → 409
curl -sL -X DELETE -H "X-Api-Key: $SKEY" "$S/api/v3/episodefile/$EID" # → 409

Тело ответа:

{"message":"Movie's root folder (/media/movies-radarr) doesn't exist.",
 "description":"NzbDrone.Core.Exceptions.NzbDroneClientException: ... MediaFileDeletionService.cs:line 59"}
Warn|DiskScanService|Movie's root folder (/media/movies-radarr) doesn't exist.
Warn|MediaFileDeletionService|Series' root folder (/media/series-sonarr) doesn't exist.

🔴 Причина: Radarr/Sonarr хранят rootfolder в своей БД. Папку удалили → MediaFileDeletionService отказывается работать с файловыми записями.

⚠️ У Radarr список rootfolders теперь ПУСТ (API вернул ничего). У Sonarr остался /media/series-sonarr (id=1).

Все DELETE вернули 409 — ни одна запись не удалена.

Пути решения (предложены Alex'у, ответа нет)

  1. Пересоздать пустые root-папки → удалить записи через API → убрать папки. mkdir -p /media/{movies-radarr,series-sonarr} → DELETE работает → sudo rmdir. Файлы не возвращаются. ~5 минут. (Рекомендовано.)
  2. Оставить фантомы. На диск и Lampa не влияют, но при следующем скачивании стек скажет «root folder doesn't exist» — надо добавлять новую папку в UI.
  3. Вручную через UI — снести root folder в Settings → Root Folders, пересоздать.

Готовый скрипт для пути 1: /tmp/step10_fix.sh (создаёт папки → DELETE все фантомы → удаляет временные папки). Не запускался.

Осталось

  • Шаг 5b — снять 12 + 57 фантомных записей (ждёт решения Alex'а по трём путям выше)
  • Шаг 6 — приёмка Alex'ом (df, Jellyfin, UI)
  • Шаг 6f — коммит vault
  • Проверить библиотеки Jellyfin (команда ушла в таймаут апрува, не выполнена)
  • Уборка: rm -rf /Users/admin/personal (артефакт записи по относительному пути)

⏸ Архив: состояние ДО удаления (см. выше актуальное)

Шаг 4 — удаление файлов ⏳ МАНИФЕСТ ГОТОВ, ждёт подтверждения

41 путь на диске, 693,3 ГБ. Все пути проверены -e → отсутствующих 0.

Путь ГБ
media/movies 309,69
media/movies-radarr 234,59
media/series 3,62
media/series-sonarr 116,14
37 папок мультфильмов (группы 3+4) 29,3
ИТОГО 693,3

Верификация состава movies/movies-radarr: сверены все 51 + 11 позиций против утверждённого списка — все утверждены, лишнего нет.

⚠️ В movies/ есть «сироты» — .nfo, .srt, постеры без видео: Master.i.Margarita.2023 · Pchelovod.2024 · Планета обезьян Новое царство_2024 · Леон (авторская версия) · Самолетом, поездом, машиной (1987) · Ворон_2024. Самого фильма нет, инвентарь (считает только видеофайлы) их не видел. Удалять их правильно — это мусор от ранее удалённых фильмов.

⚠️ Расхождение 693 ГБ против 828 ГБ — РАЗОБРАНО

В манифест не попали 7 папок мультфильмов (42,1 ГБ) из-за несовпадения имён папок в скрипте: смешарики. новый сезон. 2020 (26,43) · Corpse.Bride.2005 (7,90) · Тайна третьей планеты (1981) (3,38) · чебурашка (1,97) · The.Super.Mario.Bros.Movie.2023 (1,46) · the.secret.life.of.pets.(480p) (0,94).

Это баг имён в манифесте, не логики. Добавить — итог станет 735,4 ГБ. Остальные ~72 ГБ расхождения — короткометражки, оставленные по решению Alex.

Артефакты: /tmp/delete-manifest.txt (41 путь), /tmp/step3b.sh (сбор + верификация), /tmp/step3_manifest.sh (первая версия), /tmp/verify_movies.py (сверка состава), /tmp/chk.py (список путей cartoons).

Шаги 5–6 — rescan + проверка ⏳ НЕ НАЧАТЫ

⚠️ Открытые вопросы, блокирующие шаг 4 (заданы Alex'у)

  1. Добавить 7 пропущенных папок мультфильмов? Да → 735,4 ГБ. Нет → 693,3 ГБ.
  2. documentaries-series (235,6 ГБ) и documentaries (71,9 ГБ) — не в списке, копий на TrueNAS нет. Точно оставляем?

🔴 Порядок удаления (утверждён) — 6 шагов

  1. Дамп API Radarr + Sonarr в файл (/tmp/radarr-dump-*, /tmp/sonarr-dump-*).
  2. Стоп transmission — чтобы не качал в удаляемые папки.
  3. Чистка Transmission — удалить раздачи категорий A (data missing) и C (в списке на снос). См. раздел «Transmission» ниже.
  4. Удаление файлов по 111 позициям — список путей, xargs rm, лог каждой позиции.
  5. Rescan библиотек Radarr/Sonarr (с ресканом — указание Alex) + Jellyfin.
  6. Проверка: df -h до/после, docker ps, Jellyfin /health. Затем приёмка Alex'ом.

Transmission — состояние на 2026-09-22 (249 раздач, 1,92 ТБ заявлено)

RPC: http://127.0.0.1:9091/transmission/rpc, авторизация не требуется (rpc-authentication-required: false). Нужен session-id из заголовка — забирать через curl -i и повторять POST с X-Transmission-Session-Id.

Кат. Раздач ГБ Что
A. data missing 21 561,6 No data found — файлов нет, раздачи остались
B. no space 8 88,8 Unable to save resume file: No space left on device
C. в списке на снос 204 1005,6 путь под удаление
E. прочее 16 —

🔴 Категория A: файлы уже удалены, раздачи висят

Babylon 92,01 · Schindler's List 89,35 · Midsommar 85,59 · Triangle of Sadness 79,68 · Chaos Walking 58,36 · Oldeuboi 28,65 · Начало 24,25 · Одержимость (Whiplash) 23,66 · Леон 19,73 · Scream 12,39 · Dead Poets Society 12,28 · Leave No Trace 11,06 · Funhouse 8,87 · Мортал Комбат 2 4,15 · + 7 мелких

Также 6 раздач без файлов в downloads/complete/radarr и downloads/radarr (9–98 ГБ). Это «мёртвый вес» в списке — удалять из Transmission без потерь.

✅ РЕШЕНИЕ ALEX по категории C и недокачанным (2026-09-22)

«да. плюс недакачанные если в transmission есть останавливай и тоже сноси. C - целиком»

Правила удаления раздач (утверждены):

data_missing (ERR=3 «No data found»)     -> снести из списка
путь в delete_set (C)                    -> снести ЦЕЛИКОМ
status=0 (stopped) и percentDone < 100%  -> снести (недокачанные)

План удаления раздач — посчитан

Раздач ГБ
СНЕСТИ 240 1 769,0
оставить 9 20,0

По причинам: data_missing 21 · in_delete_set 230 · stopped_incomplete 161 (пересечения — одна раздача может попасть в несколько причин).

Остаются 9 раздач — только документалки вне списка сноса: Sky.Sharks.2022 · The.Way.of.the.Cheetah · Thailands.Wild.Cats · Jade.Eyed.Leopard · The.Frozen.Kingdom.of.the.Snow.Leopard · Russias.Wild.Tiger · The.Real.Black.Panther · Тайная жизнь собак · King Cobra (все /media/documentaries*, 100%, сидируются).

Артефакты: /tmp/tr-list.json (сырой ответ API), /Users/admin/transmission-classified.json, /Users/admin/transmission-remove-plan.json, /tmp/tr-remove-ids.txt (240 id через запятую). Скрипты: /tmp/tr_diag.sh (сбор, чтение), /tmp/tr_classify.py (классификация), /tmp/step2_plan.py (план удаления).

✅ Transmission ОСТАНОВЛЕН (2026-09-22)

sudo docker stop transmission   →  transmission Exited (0)

⚠️ Следствие: RPC (:9091) недоступен, пока контейнер стоит. Правки состояния — через файлы в /srv/.../docker/transmission/ (bind-mount → /config в контейнере). torrents/ + resume/ + settings.json.

⚠️ Питфолл: Radarr/Sonarr API и URL base

curl http://127.0.0.1:7878/api/v3/... → HTTP 307 (редирект, тело пустое). У обоих установлен UrlBase: /radarr и /sonarr (порт TorrServer-транзит: контейнеры публикуют 7878->7878 и 8989->8989, но приложение слушает под префиксом).

Правильно:

curl -sL -H "X-Api-Key: $KEY" "http://127.0.0.1:7878/radarr/api/v3/movie"
curl -sL -H "X-Api-Key: $KEY" "http://127.0.0.1:8989/sonarr/api/v3/series"

Ключ: sudo grep -oE '<ApiKey>[^<]+' <config dir>/config.xml | sed 's/<ApiKey>//' (32 символа). Без -L и без префикса ответ пустой — легко принять за «API лежит». Скрипт: /tmp/step1c.sh

🔴 TorrServer/Lampa к media/ отношения не имеют

Проверено 2026-09-22 (/ts/settings на :9118):

UseDisk: false            → на диск не пишет
TorrentsSavePath: ""      → папки для сохранения нет
CacheSize: 100663296      → 96 МБ, только RAM

Lampa играет с торрентов напрямую. Файлы в media/ на Кра́кене в воспроизведении Lampa не участвуют. Поэтому 24 «watchlist»-фильма в списке на снос — не потеря для Lampa. Alex: «она же не с кракена играет! ... она с торрентов играет».

⚠️ Мой ранний вывод «снесёшь то, что играет в Lampa» был НЕВЕРЕН — исправлено.

⚠️ Но: на Кра́кене работает Jellyfin (:8096, Up). Если он смотрит в media/ — снос ломает его библиотеку. Rescan Jellyfin в шаге 5 обязателен; перед удалением проверить библиотеки Jellyfin (команда ушла в таймаут апрува, не выполнена).

Что дальше

Удаление — отдельный шаг, ждёт решения Alex'а по конкретным позициям. Правила при удалении:

  1. downloads/complete — самый безопасный первый кандидат (78,6 ГБ, всё есть в библиотеке).
  2. Life Is Beautiful — снести две лишние копии из трёх, оставить одну.
  3. movies-radarr/series-sonarr — если удалять, то через API (иначе Radarr будет держать фантом). deleteFiles=true проверять, что путь внутри библиотеки.
  4. Дамп radarr/sonarr API в файл перед любой операцией.

Статус

  • Шаг 1 — выгрузка списка (802 файла)
  • Шаг 2 — группировка (233 позиции)
  • Шаг 3 — сверка с watchlist (29 в списке / 204 нет) — ⚠️ ЦИФРА НЕВЕРНА, см. «Ошибка матча»
  • Шаг 4 — missing.json: 0 совпадений среди файлов (те 30 позиций — рукописные заметки)
  • Шаг 5 — таблица (этот документ)
  • Шаг 5b — пересчёт матча по name + original (найдено 4 промаха, +27,3 ГБ)
  • Сверка с TrueNAS — доксериалы/документалки копий не имеют (307 ГБ уникальны)
  • Список на снос утверждён Alex'ом — 111 позиций, 828,3 ГБ
  • Диагностика Transmission — 249 раздач, классифицированы
  • Шаг 6a — дамп API Radarr/Sonarr ✅ /tmp/arr-backup-20260922-215428/
  • Шаг 6b — стоп Transmission ✅ Exited (0); план чистки: 240 раздач, 1769 ГБ
  • Шаг 6b-2 — удалить раздачи из Transmission ✅ 249 → 9 (три прохода, см. «Шаг 3»)
  • Шаг 6c — удаление файлов ✅ 693 ГБ, диск 477 ГБ → 1,2 ТБ свободно
  • Шаг 6d — rescan Radarr/Sonarr ✅ выполнен (фантомы остались — см. 5b)
  • Шаг 6e — снять фантомы arr (409) ✅ РЕШЕНО (путь 1, см. «Решение 409»)
  • Шаг 6f — приёмка df ✅ 511 ГБ занято / 1,2 ТБ свободно
  • Шаг 6g — разбор диска ✅ см. «Что осталось на Кра́кене»
  • Шаг 6h — rescan Jellyfin ⏳ (UI вручную или API-ключ)
  • Шаг 6i — приёмка Alex'ом в UI → коммит vault
  • Уборка: rm -rf /Users/admin/personal (побочный артефакт, см. ниже)

🎯 ГДЕ МЫ СЕЙЧАС (для следующей сессии)

Медиа удалено (765 ГБ), Transmission чист (9 раздач), arr-фантомы СНЯТЫ. Диск: 511 ГБ занято / 1,2 ТБ свободно.

Осталось ровно два пункта:

  1. Rescan Jellyfin (:8096) — программно не сделан, API-ключа нет. Быстрее всего руками: Dashboard → Libraries → три точки → Scan All Libraries (10 секунд). Либо создать API-ключ (Dashboard → API Keys) и отдать мне.
  2. Уборка /Users/admin/personal/ — побочный артефакт относительного пути.

⚠️ Манифест уже отработал — повторно не запускать. /tmp/delete-manifest.txt хранится для истории; путь в нём указывает на удалённые объекты.

✅ Решение 409 (Radarr/Sonarr) — пусть 1, выполнено

Alex выбрал путь 1. Понадобилось два подхода, потому что 409 менял причину:

Попытка Ответ API Что сделано
1 Movie's root folder (/media/movies-radarr) doesn't exist создал пустые папки через sudo mkdir
2 Movie's root folder (/media/movies-radarr) is empty. Rescan положил заглушку .keep + RescanMovie/RescanSeries → фантомы снялись сами

🔴 Ключевой факт: Radarr/Sonarr блокируют любое изменение записей файлов (409), пока корневая папка отсутствует или пуста. mkdir обычным пользователем НЕ работает — media/ принадлежит root, нужен sudo mkdir + sudo chown kraken:kraken.

Порядок, который сработал:

# 1. восстановить корневые папки
sudo mkdir -p $M/movies-radarr $M/series-sonarr $M/movies $M/series
sudo chown kraken:kraken $M/{movies-radarr,series-sonarr,movies,series}
# 2. положить заглушку в КОРЕНЬ (иначе «root folder is empty»)
printf 'decoy' > $M/movies-radarr/.keep
printf 'decoy' > $M/series-sonarr/.keep
# 3. RescanMovie / RescanSeries через API — фантомы снимаются САМИ, DELETE не нужен
curl -sL -X POST -H "X-Api-Key: $RKEY" -H 'Content-Type: application/json' \
  -d '{"name":"RescanMovie"}'  "http://127.0.0.1:7878/radarr/api/v3/command"
curl -sL -X POST -H "X-Api-Key: $SKEY" -H 'Content-Type: application/json' \
  -d '{"name":"RescanSeries"}' "http://127.0.0.1:8989/sonarr/api/v3/command"
# 4. убрать заглушки и пустые папки
sudo rm -rf $M/{movies-radarr,series-sonarr,movies,series}

⚠️ DELETE /api/v3/moviefile/{id} и /episodefile/{id} бесполезны — они всегда отдают 409, пока корень битый. Не тратить время, сразу делать Rescan.

Итог: Radarr hasFile=12 → 0, Sonarr episodeFile 57 → 0. Скрипты: /tmp/step10c.sh (диагностика причины), /tmp/step11.sh (заглушка + rescan), /tmp/step12.sh (ожидание скана + уборка).

🔴 API-ключи arr НЕ передаются через ?apikey= — нужен заголовок X-Api-Key. И обязателен curl -sL: без -L придёт 307 (URL base /radarr, /sonarr) и пустой ответ. Ключи: <ApiKey> в docker/{radarr,sonarr}/config/config.xml.

Что осталось на Кра́кене (2026-09-22, после чистки)

Занято 511 ГБ / свободно 1,2 ТБ (/dev/sda1, смонтирован в ...6194539b...).

Папка Размер
documentaries-series 236 ГБ
downloads 80 ГБ
documentaries 72 ГБ
cartoons 38 ГБ
cartoons-series 31 ГБ
music пусто
итого media 455 ГБ
прочее (docker, логи, БД, backups) ~56 ГБ

Мультфильмы: было 169 ГБ → стало 69 ГБ (выжили только короткометражки cartoons, которые Alex не называл). Доксериалы/документалки (307,5 ГБ) — не тронуты, копий на TrueNAS у них нет.

Time Machine на TrueNAS — шары НЕТ

Проверено 2026-09-22:

Шара Путь timemachine purpose
old-bu /mnt/RED_2TB/old-bu ❌ false DEFAULT_SHARE
storage /mnt/RED_2TB/storage ❌ false DEFAULT_SHARE
t610 /mnt/RED_2TB/backup/t610 ❌ false DEFAULT_SHARE

Ни одна шара не настроена как Time Machine. Finder не увидит их как диск для резервных копий. Проверять: midclt call sharing.smb.query | jq -r '.[] | "\(.name) tm=\(.timemachine) purpose=\(.purpose)"'. ⚠️ midclt под ssh требует ssh -t (нужен TTY), иначе sudo: a password is required. Включение TM на шаре — одна правка timemachine=true, Alex'у не предлагалось (не спрашивал).

⏳ Открытый вопрос по Jellyfin

Сервер жив: /health и /System/Info/Public отдают 302 (= страница логина, не «сломан»). Библиотеки в XML не видны — Jellyfin 10.x держит их в SQLite (config/data/jellyfin.db), API-ключ в конфиге не найден. docker inspect jellyfin → смотрит в /media (тот же диск).

🔴 Программный rescan не выполнен. Сделать рукой в UI либо создать API-ключ. До этого нельзя утверждать, что библиотека Jellyfin консистентна после сноса.

⚠️ rm -rf на папки movies/movies-radarr/series/series-sonarr целиком — именно так устроен манифест (41 путь = 4 папки + 37 папок мультфильмов). Внутренний отбор не пофайловый, а по целым папкам.

⚠️ Побочный артефакт, требует уборки

При записи personal/tech/kraken-truenas-media-copies.md файл сначала создался по относительному пути — в /Users/admin/personal/tech/ (вне vault). Правильная копия лежит в vault. Каталог /Users/admin/personal/ — удалить. Сделать в следующей сессии: rm -rf /Users/admin/personal (в этом ревью terminal недоступен).

Документация разложена

Что Где
Эта таблица, метод, цифры, решение, Transmission personal/plans/kraken-media-inventory-cleanup.md
Сверка копий Кра́кен ↔ TrueNAS personal/tech/kraken-truenas-media-copies.md
Методика + переиспользуемые факты personal/tech/lampac-deployment.md, раздел «Полная инвентаризация диска Кра́кена»
Скилл (питфоллы 12–18) devops/lampac-kraken-deploy, раздел «Pillar: disk inventory & deletion candidates»
Зеркало скилла personal/tech/skill-lampac-kraken-deploy.md