[2026-09-23] eagle: family/how-to/htpc-webos-luna.md family/how-to/kraken-network.md family/how-to/rasputin-router.md personal/plans/kraken-media-inventory-cleanup.md personal/tech/radarr-sonarr-phantom-records.md personal/tech/skill-lampac-kraken-deploy.md

This commit is contained in:
Alexey Martemyanov committed 2026-09-23 09:45:52 +06:00
1 parent de1d2fd93b
commit 5deb31f01f
6 files changed
+376 -28

No files matched your search

+77 -12
View File
@@ -134,14 +134,77 @@ related:
**Причина: `rootfolder` хранится в БД arr.** Удалил папку — `MediaFileDeletionService`
отказывается работать с записями. **Rescan НЕ помогает** (файлы исчезли ДО скана):
осталось 12 фильмов и 57 эпизодов фантомами. У Radarr список rootfolders стал ПУСТ.
**Лечение:** пересоздать пустые root-папки → DELETE записей → `sudo rmdir`.
**Общее правило: дамп API ДО удаления; если сносишь корневую папку библиотеки —
планируй чистку записей в том же проходе, потом уже не получится.**
32. ⚠️ **rescan командой, а не через UI:**
`POST /radarr/api/v3/command {"name":"RescanMovie"}`,
`POST /sonarr/api/v3/command {"name":"RescanSeries"}` (с `-L` и `X-Api-Key`).
33. ⚠️ **Jellyfin на Кра́кене жив** (`/health` → 302). Порт `:8096`. Проверять библиотеки
до/после — единственная реальная связь `media/` с просмотром.
32. 🔴🔴 **409 меняет причину — двух барьеров ДВА, останавливаться на первом нельзя.**
```
папки нет → "root folder (...) doesn't exist"
папка пуста → "root folder (...) is empty. Rescan"
есть файл → ✅ операция проходит
```
⚠️ **DELETE `moviefile`/`episodefile` — тупик.** Эти эндпоинты проверяют корень
ДО удаления записи, поэтому 409 будет вечно. Не крутить параметры — сразу Rescan.
**✅ ЛЕЧЕНИЕ (применено 2026-09-22, Radarr 12→0 / Sonarr 57→0):**
```bash
M=/srv/dev-disk-by-uuid-6194539b-03e0-4f33-986b-4da09834e82f/media
# 1. корневые папки — 🔴 sudo обязателен, сам media/ принадлежит root
sudo mkdir -p "$M"/{movies-radarr,series-sonarr,movies,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. Rescan — фантомы снимаются САМИ, DELETE не нужен
curl -sL -X POST -H "X-Api-Key: $RKEY" -H 'Content-Type: application/json' \
-d '{"name":"RescanMovie"}' "$R/api/v3/command"
curl -sL -X POST -H "X-Api-Key: $SKEY" -H 'Content-Type: application/json' \
-d '{"name":"RescanSeries"}' "$S/api/v3/command"
# 4. убрать заглушки и папки
sudo rm -rf "$M"/{movies-radarr,series-sonarr,movies,series}
```
⚠️ **Сканы асинхронные, снимают пачками** (25 → 13 → 0), Sonarr ~60 сек.
Не судить по одному замеру — поллить `jq '[.[].statistics.episodeFileCount]|add'` до 0.
⚠️ `RescanMovie`/`RescanSeries` БЕЗ `ids` = вся библиотека (нужен именно такой).
⚠️ `mkdir` без `sudo` падает — `media/` это `root:root`, хотя дети `kraken:kraken`.
Скрипты: `/tmp/step10c.sh` (диагностика), `/tmp/step11.sh` (заглушка+rescan),
`/tmp/step12.sh` (ожидание + уборка).
33. ⚠️ **Jellyfin на Кра́кене жив** (`/health` → 302). 🔴 **302 = страница логина, НЕ поломка.**
Порт `:8096`. Библиотеки в XML **не видны** — Jellyfin 10.x держит их в SQLite
(`docker/jellyfin/config/data/jellyfin.db`), API-ключа в конфиге нет → программный
rescan не сделать. Быстро: Dashboard → Libraries → три точки → **Scan All Libraries**.
⛔ **Не объявлять библиотеку консистентной после массового сноса до этого rescan.**
## ✅ Чистка медиа — ЗАВЕРШЕНА 2026-09-22
| Метрика | До | После |
|---|---|---|
| Свободно | 477 ГБ | **1,2 ТБ** |
| Занято | 1,3 ТБ | **511 ГБ** |
| Раздач Transmission | 249 | **9** (только документалки) |
| Radarr фильмов с файлами | 12 | **0** |
| Sonarr эпизодных файлов | 57 | **0** |
Освобождено **765 ГБ**. Снесено: `movies` 309,7 · `movies-radarr` 234,6 · `series-sonarr` 116,1 ·
`series` 3,6 · 37 папок мультфильмов 168 ГБ.
**Осталось в `media/` (455 ГБ):** `documentaries-series` 236 · `downloads` 80 ·
`documentaries` 72 · `cartoons` 38 · `cartoons-series` 31 · `music` пусто.
Мультфильмы 169 → 69 ГБ (выжили только короткометражки, которые Alex не называл).
⚠️ **Документалки (307,5 ГБ) НЕ ТРОГАЛИ — копий нет ни на одном хосте.**
## TrueNAS: шары Time Machine НЕТ
```bash
ssh -t truenas_admin@mallexxx.duckdns.org \
'midclt call sharing.smb.query | jq -r ".[] | \"\(.name) tm=\(.timemachine) purpose=\(.purpose)\""'
```
```
old-bu tm=false /mnt/RED_2TB/old-bu purpose=DEFAULT_SHARE
storage tm=false /mnt/RED_2TB/storage purpose=DEFAULT_SHARE
t610 tm=false /mnt/RED_2TB/backup/t610 purpose=DEFAULT_SHARE
```
Ни одна шара не включена как Time Machine — Finder не предложит её для бэкапа.
Включение = один флаг `timemachine=true`, **не делалось** (Alex не просил).
⚠️ `midclt` по ssh требует **`ssh -t`** (нужен TTY), иначе `sudo: a password is required`.
## Установка Lampa на ТВ (сжато)
@@ -180,15 +243,17 @@ ssh kraken 'sudo rm -rf /srv/dev-disk-by-uuid-6194539b-03e0-4f33-986b-4da09834e8
- Лимит кэша TorrServer — дефолт (`UseDisk: false`, 96 МБ RAM). ⚠️ Это и есть причина,
что Lampa играет с торрентов, а не с диска — менять только осознанно.
- ✅ **Удаление медиа на Кра́кене ВЫПОЛНЕНО** (2026-09-22): 693 ГБ, диск 477 ГБ → 1,2 ТБ,
- ✅ **Удаление медиа на Кра́кене ВЫПОЛНЕНО** (2026-09-22): **765 ГБ**, диск 477 ГБ → 1,2 ТБ,
Transmission 249 → 9 раздач. Детали: [[personal/plans/kraken-media-inventory-cleanup]].
- 🔴 **НЕ ЗАКРЫТО: 12 фантомных фильмов в Radarr + 57 эпизодов в Sonarr.** DELETE через API
→ **409** (`root folder doesn't exist`). Решение предложено, ответа Alex'а нет.
Скрипт `/tmp/step10_fix.sh` готов, не запускался. Питфолл 31 выше.
- ⚠️ Проверка библиотек Jellyfin на Кра́кене перед удалением — **не сделана**
(команда ушла в таймаут апрува). Jellyfin жив: `/health` → 302.
- ✅ **Фантомы arr СНЯТЫ** (2026-09-22): Radarr `hasFile` 12 → 0, Sonarr episodeFile 57 → 0.
Лечение — питфолл 32. Отдельный справочник: [[personal/tech/radarr-sonarr-phantom-records]].
- ⏳ **Jellyfin: rescan НЕ сделан.** Жив (`/health` → 302 = логин, не поломка), но библиотека
не пересканирована — программно нельзя без API-ключа. Сделать в UI:
Dashboard → Libraries → три точки → **Scan All Libraries**.
- ⚠️ Уборка: каталог `/Users/admin/personal/` (артефакт записи по относительному пути) —
удалить.
- ⚠️ **TrueNAS: шары Time Machine нет** (`timemachine=false` у `old-bu`, `storage`, `t610`).
Включается флагом, но Alex не просил.
- Шаг 7 — watchlist в UI Lampa: [[personal/plans/lampac-watchlist-plugin]].
- Секции Watchlist внутри CUB-фида — инжект залит, приёмка в UI не подтверждена.