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

116 lines
6.3 KiB
Markdown
Raw Blame History

This file contains ambiguous Unicode characters
This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.
---
title: Skill — lampac-kraken-deploy
created: '2026-09-22'
updated: '2026-09-22'
type: tech
namespace: personal
tags:
- skill
- lampac
- docker
- kraken
- devops
related:
- '[[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]].
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
# скачать 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`.
## Проверка
```bash
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"'
```
## Откат
```bash
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 — дефолт. Рекомендуется ~20 ГБ.
- 🔴 Удаление медиа на Кра́кене — ждёт выбора 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`
✅ **Синхронизирован 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».