Files
obsidian-vault/personal/tech/skill-lampac-kraken-deploy.md
T

9.5 KiB
Raw Blame History

title, created, updated, type, namespace, tags, related
title created updated type namespace tags related
Skill — lampac-kraken-deploy 2026-09-22 2026-09-22 tech personal
skill
lampac
docker
kraken
devops
personal/tech/lampac-deployment
personal/plans/lampac-kraken
family/how-to/tv-luna-send

Skill: lampac-kraken-deploy

Зеркало скилла devops/lampac-kraken-deploy. Файл скилла: ~/.hermes/hermes-whale/skills/devops/lampac-kraken-deploy/SKILL.md

Когда загружать

  • Деплой/рестарт/отладка Lampac на Кра́кене
  • Свежий контейнер healthy, но curl :9118 → Connection reset by peer
  • Подключение Lampa на LG ТВ
  • Вопрос «нужен ли отдельный контейнер TorrServer»

Полная техническая справка: personal/tech/lampac-deployment.

Ключевое из скилла

  1. Хост — Кра́кен (ssh kraken), aarch64 Debian 12. Не TrueNAS.
  2. Образ содержит linux/arm64 — сборка из исходников не нужна.
  3. 🔴 TorrServer встроенный — второй контейнер не ставить.
  4. Каталоги в корне диска — только через sudo mkdir (корень root:root, sudo без пароля).
  5. 🔴 Первый старт ~4 минуты. Connection reset by peer — норма, ждать Configure complete. healthy ≠ готовность HTTP.
  6. docker manifest inspect с Mac → denied; проверять из Кра́кена.
  7. docker compose только как плагин (v5.1.3), не docker-compose.
  8. Приёмка = играет 5+ минут на ТВ, а не «API отвечает».
  9. 🔴 Lampa на ТВ ставится по SSH, флешка и Media Station X НЕ нужны. См. personal/tech/lampac-deployment.
  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.

  1. 🔴 arr индексирует только 252 ГБ из 1236 (21%). Остальное — ручные закачки, невидимые в UI Radarr/Sonarr. «Нет в Radarr» ≠ «нет на диске».
  2. 🔴 downloads/complete/sonarr/ — завершённые раздачи, не удалённые после импорта. Байт-в-байт дубли библиотеки = 78,6 ГБ зря. Самый безопасный кандидат на снос.
  3. 🔴 Матч с watchlist — только СТРОГОЕ равенство нормализованных названий, len >= 4. Подстрочный матч раздувает счёт: 42 позиции / 811 ГБ вместо реальных 29 / 456 ГБ.
  4. 🔴 В watchlist.json нет поля tmdb_id — он в href (.../movie/424781), вынимать регексом /(\d{2,9})/?$.
  5. 🔴 missing.json (30 позиций с ❓) не пересекается с диском — это рукописные заметки в списке. «Недоступно в Lampa» для файлов = нет в watchlist, не «нет в TMDB».
  6. Группировка 802 файлов: файлы в корне movies/cartoons/documentaries — каждая своя позиция (иначе «Вивариум» 1,46 ГБ склеивается в группу на 135 ГБ).
  7. Удаление только через API arr-стека; deleteFiles=true — проверять, что путь внутри библиотеки. Дамп API в файл перед операцией.

Читать продолжение поверх: personal/tech/lampac-deployment, раздел «Transmission на Кра́кене».

  1. 🔴 Матч с watchlist — name И original + год ±1. Строгое равенство только по русскому name пропускает файлы, названные по оригиналу: Bram.Stoker's Dracula.1992 → «Дракула» (6114), The.Crow.1994 → «Ворон» (9495), despicable.me.4.2024 → «Гадкий я 4» (519182). 4 промаха = 27,3 ГБ, ошибочно помеченных «не в watchlist». Токенный матч тоже гадит: «пингвины. шпион в толпе» → «Шпион» (2015).
  2. 🔴 UseDisk: false у TorrServer — Lampa играет С ТОРРЕНТОВ, не с диска. Проверять curl -X POST :9118/ts/settings -d '{"action":"get"}' перед любым предупреждением «снесёшь то, что играет». Файлы media/ в плейбэке Lampa не участвуют.
  3. 🔴 Transmission RPC на Кра́кене: авторизации нет, но нужен session-id. Первый POST → 409 + X-Transmission-Session-Id; забрать и повторить. error: 3 = "No data found!" — файлы удалены, раздачи висят (21 шт. / 561,6 ГБ). ⚠️ downloadDir = путь внутри контейнера (/media/...), не host-путь.
  4. 🔴 Перед сносом «копия есть на другом хосте» — СЧИТАТЬ, а не ls. На TrueNAS documentaries = 1 файл, documentaries-series = пусто, cartoons-series = 1 сборник. 307 ГБ доксериалов/документалок Кра́кена уникальны.
  5. ⚠️ Jellyfin на Кра́кене (:8096) может смотреть в media/ — проверить библиотеки до удаления, rescan после. Это единственная реальная связь media/ с просмотром.

Установка Lampa на ТВ (сжато)

# скачать ipk на ТВ
ssh root@192.168.1.70 'curl -sS -o /tmp/lampa.ipk "http://192.168.1.14:9118/lg.ipk"'

# установить (только через com.webos.appInstallService + обёртку script)
ssh root@192.168.1.70 'rm -f /tmp/i.txt; script -q -c \
  "luna-send -n 1 -f luna://com.webos.appInstallService/dev/install \
   {\"id\":\"org.lampa.tv\",\"ipkUrl\":\"/tmp/lampa.ipk\",\"subscribe\":true}" /tmp/i.txt; cat /tmp/i.txt'

# запустить
ssh root@192.168.1.70 'rm -f /tmp/l.txt; script -q -c \
  "luna-send -n 1 -f luna://com.webos.applicationManager/launch {\"id\":\"com.lampac.tv\"}" /tmp/l.txt'

ТВ: root@192.168.1.70, ключ ~/.ssh/konka_webos, webOS 5.4.2, порты 22/3000/3001.

Проверка

ssh kraken 'docker ps --filter name=lampac --format "{{.Names}} {{.Status}} {{.Ports}}"'
ssh kraken 'curl -sS "http://localhost:9118/version?type=hash"'
ssh kraken 'curl -sS "http://192.168.1.14:9118/version?type=hash"'

Откат

ssh kraken 'cd /srv/.../lampac && docker compose down'
ssh kraken 'sudo rm -rf /srv/dev-disk-by-uuid-6194539b-03e0-4f33-986b-4da09834e82f/lampac'

Не закрыто

  • Лимит кэша TorrServer — дефолт (UseDisk: false, 96 МБ RAM). ⚠️ Это и есть причина, что Lampa играет с торрентов, а не с диска — менять только осознанно.
  • 🔴 Удаление медиа на Кра́кене — список УТВЕРЖДЁН (111 позиций, 828,3 ГБ), ждёт ответа по категории C Transmission. Детали: personal/plans/kraken-media-inventory-cleanup.
  • ⚠️ Проверка библиотек Jellyfin на Кра́кене перед удалением — не сделана (команда ушла в таймаут апрува).
  • ⚠️ Уборка: каталог /Users/admin/personal/ (артефакт записи по относительному пути) — удалить.
  • Шаг 7 — watchlist в UI Lampa: personal/plans/lampac-watchlist-plugin.
  • Секции Watchlist внутри CUB-фида — инжект залит, приёмка в UI не подтверждена.

Реальный скилл (файл)

~/.hermes/hermes-whale/skills/devops/lampac-kraken-deploy/SKILL.md

✅ Синхронизирован 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».

✅ Синхронизирован 2026-09-22 (ночь). Добавлен раздел «Pillar: media inventory, Transmission cleanup & deletion» (пункты 19–23): матч по name+original+год, TorrServer UseDisk: false (Lampa играет с торрентов), Transmission RPC session-id + error: 3, cross-host проверка копий счётом, Jellyfin как единственная связь media/.