[2026-09-22] eagle: family/how-to/htpc-webos-luna.md personal/plans/lampac-watchlist-plugin.md personal/tech/lampac-deployment.md personal/tech/skill-lampac-kraken-deploy.md
This commit is contained in:
1 parent
0c8aecece0
commit
81f8dd398b
4 files changed
+330
-8
No files matched your search
@@ -42,3 +42,61 @@ ssh root@192.168.1.75 "script -q -c \"luna-send -n 1 -f luna://com.webos.applica
|
||||
- `ares-install/ares-launch` — требует dev mode (порт 9922)
|
||||
- `listRunningApps` — нет метода, правильно: `running`
|
||||
- `applicationManager/remove` — нет, правильно: `appInstallService/dev/remove`
|
||||
- ⚠️ **`luna-send -a '{"appId":...}'`** — на прошивке ТВ `5.4.2` флаг `-a` не парсится, отдаёт хелп-экран. AppId только первым аргументом.
|
||||
|
||||
## Установка IPK — рабочий рецепт (проверено 2026-09-22)
|
||||
|
||||
Установлено приложение Lampa (`com.lampac.tv`) на ТВ `192.168.1.70`. Полный проход:
|
||||
|
||||
```bash
|
||||
# 1. Скачать ipk прямо на ТВ (без scp с Mac)
|
||||
ssh root@192.168.1.70 'curl -sS --max-time 60 -o /tmp/app.ipk "http://192.168.1.14:9118/lg.ipk"'
|
||||
# → 6896874 байт; формат ar (!<arch>), НЕ tar/gzip
|
||||
|
||||
# 2. Установить — обёртка 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/app.ipk\",\"subscribe\":true}" /tmp/i.txt; cat /tmp/i.txt'
|
||||
# → {"subscribed":true,"returnValue":true}
|
||||
|
||||
# 3. Проверить — appId из appinfo.json, НЕ из запроса
|
||||
ssh root@192.168.1.70 'ls /media/developer/apps/usr/palm/applications/'
|
||||
# → com.lampac.tv
|
||||
|
||||
# 4. Запустить
|
||||
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'
|
||||
```
|
||||
|
||||
🔴 **Поле `"id"` в `dev/install` — произвольная метка.** Реальный appId берётся из `appinfo.json`
|
||||
внутри ipk. В нашем случае запрос ушёл с `org.lampa.tv`, а установилось `com.lampac.tv`.
|
||||
|
||||
**Проверка, что приложение реально открылось** (а не просто «команда вернула true»):
|
||||
```bash
|
||||
ssh root@192.168.1.70 'rm -f /tmp/f.txt; script -q -c \
|
||||
"luna-send -n 1 -f luna://com.webos.applicationManager/getForegroundAppInfo {}" /tmp/f.txt; grep appId /tmp/f.txt'
|
||||
# → "appId": "com.lampac.tv"
|
||||
```
|
||||
|
||||
## Альтернативный путь, который НЕ сработал
|
||||
|
||||
`org.webosbrew.hbchannel.service/install` — метод в образе есть (`service.js`, `register("install",...)`),
|
||||
но `luna-send` через SSH его не дёрнул. Используй `com.webos.appInstallService/dev/install`.
|
||||
|
||||
## Текущий ТВ (2026-09-22)
|
||||
|
||||
| Параметр | Значение |
|
||||
|---|---|
|
||||
| IP | `192.168.1.70` (проводной eth0); старый `.75` больше не отвечает |
|
||||
| SSH | `root@192.168.1.70`, ключ `~/.ssh/konka_webos`, `StrictHostKeyChecking no` |
|
||||
| Порты | `22` SSH, `3000`/`3001` Luna |
|
||||
| webOS | **5.4.2**, ядро `4.4.84`, image `starfish-dvb-secured`, build 2602 |
|
||||
| Кастомные приложения | `org.webosbrew.hbchannel` 0.7.2, `org.webosbrew.inputhook`, `me.wouterdek.magic4pc`, **`com.lampac.tv`** |
|
||||
|
||||
⚠️ SSH печатает `post-quantum key exchange` warning — **это норма**, не ошибка.
|
||||
|
||||
## Связанные заметки
|
||||
|
||||
- [[family/how-to/tv-luna-send]] — враппер `~/Automation/tv-luna-send.sh`
|
||||
- [[personal/tech/lampac-deployment]] — что именно ставили на ТВ и зачем
|
||||
- [[family/how-to/kraken-network]] — сеть Кра́кена и ТВ
|
||||
@@ -0,0 +1,131 @@
|
||||
---
|
||||
created: '2026-09-22'
|
||||
namespace: personal
|
||||
related:
|
||||
- '[[personal/plans/lampac-kraken]]'
|
||||
- '[[personal/tech/lampac-deployment]]'
|
||||
- '[[family/projects/watchlist-sync]]'
|
||||
- '[[family/projects/watchlist-automation]]'
|
||||
- '[[family/documents/movies-watchlist]]'
|
||||
status: proposed
|
||||
tags:
|
||||
- lampac
|
||||
- lampa
|
||||
- watchlist
|
||||
- catalog
|
||||
- webos
|
||||
- plugin
|
||||
- kraken
|
||||
title: Watchlist в UI Lampa — плагин отображения
|
||||
type: plan
|
||||
updated: '2026-09-22'
|
||||
---
|
||||
|
||||
# Watchlist в UI Lampa — плагин отображения (план)
|
||||
|
||||
> Составлен 2026-09-22. Ждёт подтверждения Alex.
|
||||
> Предыдущий шаг (Lampac на Кра́кене) — [[personal/plans/lampac-kraken]], шаги 1–6 закрыты.
|
||||
|
||||
## Задача
|
||||
|
||||
Показывать **список фильмов Alex** (`family/documents/movies-watchlist.md`) прямо в UI Lampa на ТВ —
|
||||
как каталог для просмотра. **Не локальный плейбэк**, а отображение списка.
|
||||
|
||||
Уточнение Alex: «это не локальный плейбэк а отображение фильмов из списка».
|
||||
|
||||
## Что НЕ так понято (зафиксировать, чтобы не переделывать)
|
||||
|
||||
| Толкование | Верно? |
|
||||
|---|---|
|
||||
| Показать **свой список** (`movies-watchlist.md`) в UI | ✅ **да, это задача** |
|
||||
| Показать **файлы библиотеки** с диска Кра́кена (Jellyfin-подобное) | ❌ нет — это шаг 7 старого плана, **другое** |
|
||||
| Локальный плейбэк (раздача торрента с диска Кра́кена) | ❌ нет |
|
||||
|
||||
## Что нашлось в Lampac (разведка 2026-09-22)
|
||||
|
||||
В образе `ghcr.io/lampac-nextgen/lampac` 33 модуля (`/lampac/module/`). Релевантные три:
|
||||
|
||||
| Модуль | Что делает | Статус | Подходит? |
|
||||
|---|---|---|---|
|
||||
| **Catalog** | **YAML-каталоги → плагин `/catalog.js`** | ⛔ выключен | ✅ **главный кандидат** |
|
||||
| DLNA | DLNA/UPnP, локальные файлы, торрент-менеджмент | ✅ включён | ⚠️ это про файлы, не про список |
|
||||
| Online | 70+ онлайн-источников → `/online.js` | ✅ включён | уже используется |
|
||||
|
||||
### Модуль Catalog — детали
|
||||
|
||||
- **Роут:** `/catalog.js` (плагин Lampa), внутренние — `/catalog/<site>`
|
||||
- **Данные:** YAML-файлы в `<modpath>/sites/<site>.yaml`
|
||||
- **Имя файла** — только `[a-z0-9-]`, иначе `Regex.Replace` срежет
|
||||
- **Есть lookup по `displayname`** внутри `*.yaml`, если файла по имени нет
|
||||
- **WAF-лимит:** `^/catalog/` → 10 запросов/сек
|
||||
- **`ModuleBaseConf`** с `limit_map`, класс `CatalogSettings`, есть `IEnumerable`-итерация
|
||||
|
||||
**Почему выключен:**
|
||||
```jsonc
|
||||
// current.conf
|
||||
"SkipModules": [ "Catalog", "Tracks", "Transcoding", ... ]
|
||||
"catalog": false // в блоке плагинов LampaWeb
|
||||
```
|
||||
Оба надо включить.
|
||||
|
||||
⚠️ **Питфолл:** `init.conf` монтируется **не был** — у нас в compose нет volume на `/lampac/init.conf`.
|
||||
Файл живёт внутри образа. Правки через `docker exec` **потеряются при пересоздании контейнера**.
|
||||
Значит: либо добавить volume, либо править через AdminPanel, либо `docker cp` + mount.
|
||||
|
||||
## Развилка архитектуры — нужно решение Alex
|
||||
|
||||
Отображение списка и воспроизведение — **разные вещи**. Список отдаём, но по клику что играть?
|
||||
|
||||
| # | Вариант | Как работает | Плюсы | Минусы |
|
||||
|---|---|---|---|---|
|
||||
| **A** | **Каталог → TMDB → торренты** | `/catalog.js` отдаёт названия, Lampa ищет их в TMDB, по клику — TorrServer/онлайн | Просто. Список = то, что уже есть. Работает сегодня | Каталог отдельно от «Избранного» Lampa |
|
||||
| **B** | **Генератор Lampa-«Избранного»** | Отдаём `movies-watchlist.md` как JSON — Lampa кладёт его в свою папку «Буду смотреть» | Из коробки в UI, без плагина | Лимит **50** у `kinopoisk.js`; формат Lampa-специфичный |
|
||||
| **C** | **Catalog + свои ссылки** | YAML с ссылками на торренты с диска Кра́кена — это уже **локальный плейбэк** | Прямой запуск | ❌ **Alex сказал — не это** |
|
||||
|
||||
**Рекомендация: A.** Список показываем, воспроизведение оставляем штатным (торренты/онлайн). Это ровно
|
||||
«отображение фильмов из списка», без изобретения плейбэка.
|
||||
|
||||
## Что нужно выяснить до кодирования
|
||||
|
||||
1. **Формат YAML** — читать `Catalog/Controllers` в образе, узнать схему `CatalogSettings`
|
||||
(поля: `displayname`, иконка, источник элементов, `tmdb`-режим?).
|
||||
2. **Есть ли готовый Konopoisk/TMDB-режим** — если Catalog умеет принимать TMDB-коллекцию,
|
||||
задача сводится к генерации YAML из watchlist.
|
||||
3. **Как обновлять каталог** — watchlist меняется (Radarr, ⬇️, `[x]`), нужен генератор + hook.
|
||||
4. **Фильтры** — показывать только `[ ]` (не просмотренные)? Прятать `👎`? Секции (`Фильмы`/`Аниме`/`Мультфильмы`)?
|
||||
5. **`init.conf`** — как правки не потерять: volume vs AdminPanel.
|
||||
|
||||
## Черновик шагов (уточнится после разведки формата)
|
||||
|
||||
1. Включить модуль: убрать `Catalog` из `SkipModules`, поставить `"catalog": true`.
|
||||
2. Разобрать схему YAML по кодe `Catalog/Controllers/*.cs` (в контейнере).
|
||||
3. Написать генератор: `movies-watchlist.md` → `sites/<name>.yaml`.
|
||||
- Источник данных — **vault** (`family/documents/movies-watchlist.md`), git-синхронизирован
|
||||
- Уже есть готовый парсер: `watchlist-sync/parser.py` (см. [[family/projects/watchlist-sync]])
|
||||
4. Смонтировать `sites/` в контейнер.
|
||||
5. Плагин на ТВ: Lampa → Настройки → Плагины → `http://192.168.1.14:9118/catalog.js`.
|
||||
6. **Приёмка:** список виден в UI Lampa на ТВ, названия совпадают с `movies-watchlist.md`.
|
||||
|
||||
## Как обновлять
|
||||
|
||||
Варианты (выбрать после шага 2):
|
||||
- hook в `watchlist-nightly.sh` (уже кроном 01:00 на Кра́кене) — догенерировать YAML после прогона
|
||||
- отдельный cron-скрипт
|
||||
- ручной запуск генератора
|
||||
|
||||
⚠️ `watchlist-nightly.sh` живёт в `~/scripts/` — **root:root**, правка только `sudo install -m 755`.
|
||||
|
||||
## Открытые вопросы к Alex
|
||||
|
||||
1. **Развилка A/B/C** — согласен на A (каталог → TMDB → штатное воспроизведение)?
|
||||
2. **Что показывать:** только непросмотренные `[ ]`? Или всё?
|
||||
3. **Секции:** как в файле (`Фильмы`, `Мультфильмы`, `Аниме`) или одним списком?
|
||||
4. **`👎` и `🗓️`** — прятать?
|
||||
|
||||
## Связанные
|
||||
|
||||
- [[personal/plans/lampac-kraken]] — базовое развёртывание (шаги 1–6 сделаны)
|
||||
- [[personal/tech/lampac-deployment]] — эксплуатация Lampac
|
||||
- [[family/projects/watchlist-sync]] — парсер списка, CLI, cron
|
||||
- [[family/projects/watchlist-automation]] — полный flow, форматы маркеров
|
||||
- [[family/documents/movies-watchlist]] — источник данных
|
||||
@@ -13,8 +13,10 @@ tags:
|
||||
- webos
|
||||
related:
|
||||
- '[[personal/plans/lampac-kraken]]'
|
||||
- '[[personal/plans/lampac-watchlist-plugin]]'
|
||||
- '[[personal/tech/multistream-single-flow-limit]]'
|
||||
- '[[family/how-to/kraken-network]]'
|
||||
- '[[family/how-to/tv-luna-send]]'
|
||||
---
|
||||
|
||||
# Lampac — развёртывание и эксплуатация (Кра́кен)
|
||||
@@ -152,24 +154,123 @@ Configure complete ← HTTP начинает отвечать
|
||||
|
||||
Выбор порта — `docker compose config` + `sudo ss -tlnp` перед деплоем.
|
||||
|
||||
## Интеграция с Lampa (ТВ)
|
||||
## Интеграция с Lampa (ТВ) — ✅ СДЕЛАНО 2026-09-22
|
||||
|
||||
- Плагин: `http://192.168.1.14:9118/online.js`
|
||||
- TorrServer в Lampa: Настройки → TorrServer → «Использовать основную ссылку» → `http://192.168.1.14:9118`
|
||||
- Буфер плеера: 50–100 МБ
|
||||
- UE на LG: `.ipk` с флешки на розничных телевизорах **не работает** → ставить через **Media Station X**
|
||||
- `/lg.ipk` отдаёт сам Lampac
|
||||
- `/lg.ipk` отдаёт сам Lampac (проверено: HTTP **200**)
|
||||
|
||||
## Откат
|
||||
### Установка клиента на LG webOS — по SSH, без флешки
|
||||
|
||||
🔴 **`Media Station X` и `.ipk` с флешки — НЕ нужны.** ТВ имеет SSH-доступ (root), установка делается с Mac.
|
||||
|
||||
**ТВ:** `root@192.168.1.70`, ключ `~/.ssh/konka_webos`, webOS **5.4.2** (ядро 4.4.84, image `starfish-dvb-secured`, build 2602, `webos_build_datetime 20230405092501`).
|
||||
Порты открыты: `22` (SSH), `3000`/`3001` (Luna). Из кастомного уже стоит: `org.webosbrew.hbchannel` 0.7.2, `org.webosbrew.inputhook`, `me.wouterdek.magic4pc`.
|
||||
|
||||
**Порядок установки:**
|
||||
|
||||
```bash
|
||||
cd /srv/.../lampac && docker compose down
|
||||
sudo rm -rf /srv/dev-disk-by-uuid-6194539b-03e0-4f33-986b-4da09834e82f/lampac
|
||||
# 1. Скачать .ipk от Lampac прямо на ТВ
|
||||
ssh root@192.168.1.70 'curl -sS --max-time 60 -o /tmp/lampa.ipk "http://192.168.1.14:9118/lg.ipk"'
|
||||
# → 6 896 874 байт, формат ar (!<arch>), НЕ tar/gzip
|
||||
|
||||
# 2. Установить (обязательна обёртка script — см. питфолл ниже)
|
||||
ssh root@192.168.1.70 'rm -f /tmp/inst.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/inst.txt >/dev/null 2>&1; cat /tmp/inst.txt'
|
||||
# → {"subscribed":true,"returnValue":true}
|
||||
|
||||
# 3. Проверить, что установилось
|
||||
ssh root@192.168.1.70 'ls /media/developer/apps/usr/palm/applications/'
|
||||
# → com.lampac.tv ← имя приложения Lampa, НЕ org.lampa.tv
|
||||
|
||||
# 4. Запустить
|
||||
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'
|
||||
|
||||
# 5. Убедиться, что открылось
|
||||
ssh root@192.168.1.70 'rm -f /tmp/f.txt; script -q -c \
|
||||
"luna-send -n 1 -f luna://com.webos.applicationManager/getForegroundAppInfo {}" /tmp/f.txt; grep appId /tmp/f.txt'
|
||||
# → "appId": "com.lampac.tv"
|
||||
```
|
||||
|
||||
Lampac изолирован — остальной стек Кра́кена не затрагивается.
|
||||
**Фактический ID приложения — `com.lampac.tv`** (vendor Lampac, version 1.0.0, type web).
|
||||
⚠️ В `luna-send ... dev/install` поле `"id"` — **произвольная метка**; реальный appId берётся из `appinfo.json` внутри ipk. Ошибиться здесь не страшно, но искать приложение надо по фактическому ID.
|
||||
|
||||
### 🔴 Питфолл: `luna-send` по SSH молчит
|
||||
|
||||
**Симптом:** любой вызов `luna-send` через `ssh root@TV "luna-send ..."` печатает **хелп-экран**, а не результат. С `-t` (PTY) — тоже. С `-a '{"json"}'` — тоже.
|
||||
|
||||
**Причина:** `luna-send` детектирует TTY и отказывается писать в pipe.
|
||||
|
||||
**Решение:** обернуть в `script(1)`, который аллоцирует псевдо-TTY, и прочитать временный файл:
|
||||
```bash
|
||||
ssh root@TV 'script -q -c "luna-send -n 1 -f luna://service/method {json}" /tmp/o.txt; cat /tmp/o.txt'
|
||||
```
|
||||
|
||||
Готовый враппер: `~/Automation/tv-luna-send.sh` (`TV_HOST` переопределяет таргет).
|
||||
Доки: [[family/how-to/tv-luna-send]], [[family/how-to/htpc-webos-luna]].
|
||||
|
||||
⚠️ **Установка идёт через `com.webos.appInstallService/dev/install`**, а НЕ через
|
||||
`org.webosbrew.hbchannel.service/install` (последний в образе есть, но `luna-send` его не дёрнул чисто).
|
||||
|
||||
⚠️ `luna-send -i` (subscribe, бесконечный) через враппер **не работает** — нужен polling.
|
||||
|
||||
### Первый просмотр — проверено 2026-09-22
|
||||
|
||||
Фильм запущен, **не дёргается**. Alex: «Вроде стабильно, не делается».
|
||||
|
||||
| Факт | Значение |
|
||||
|---|---|
|
||||
| Соединения ТВ → Lampac | 3 × ESTABLISHED `192.168.1.70 → 192.168.1.14:9118` |
|
||||
| Нагрузка контейнера | `lampac` CPU 57%, NET 168 МБ ↓ / 132 МБ ↑ |
|
||||
| Битрейт на eth0 | **~3–4 Мбит/с** |
|
||||
|
||||
⚠️ **Почему всего 3–4 Мбит, а не 15:** выбран источник **«Смотреть онлайн (lampac 1.18…)»** — встроенный
|
||||
плагин `online.js`, HLS-поток. Lampac отдаёт **ссылку**, ТВ тянет видео напрямую из CDN (в `/proc/net/tcp`
|
||||
ТВ видны внешние адреса на `:443`/`:8443`). Тяжёлый remux с торрента не участвует — поэтому и не дёргается.
|
||||
|
||||
🔴 **Следствие:** этот просмотр **не проверяет**, держит ли сеть remux 60–80 Мбит.
|
||||
Тест функциональности, не полосы. Полосу проверять на торрент-источнике.
|
||||
|
||||
**Как убрать выбор источника:** Lampa → Настройки → Плагины → выключить `online.js`. Останутся только торренты.
|
||||
|
||||
## Внутреннее устройство Lampac (разведка 2026-09-22)
|
||||
|
||||
**33 модуля** в образе (`/lampac/module/`):
|
||||
`AdminPanel`, `Adult`, **`Catalog`**, `Community`, **`DLNA`**, `DatabaseEditor`, `ExternalBind`,
|
||||
`ForkPlayerXML`, `GStreamer`, `JacRed`, `Kit`, `LampaWeb`, `LampacApk`, `LogUserRequest-Lite`,
|
||||
`MsxNative`, `Music`, `NextHUB`, **`Online`**, `OnlineAnime`, `OnlineENG`, `OnlineGEO`, `OnlinePaid`,
|
||||
`OnlineRUS`, `OnlineUKR`, `PidTor`, `Potok`, `Proxy`, `SISI`, `Sync`, `Telemetry` (+ остальные).
|
||||
|
||||
**Конфиг — `current.conf`** внутри образа (`/lampac/current.conf`, 157 КБ, генерируется из `base.conf` +
|
||||
`init.conf`). Рабочий каталог `/lampac`, файлы читаются **из корня**, не из `config/`.
|
||||
|
||||
Выключение модуля — двумя механизмами:
|
||||
1. **`SkipModules`** в `init.conf` / `current.conf`
|
||||
2. **`manifest.json`** в каталоге модуля (`"enable": true|false`)
|
||||
|
||||
⚠️ **`init.conf` НЕ смонтирован** в нашем compose — файл живёт внутри образа. Любая правка через
|
||||
`docker exec` **потеряется при пересоздании контейнера**. Для постоянных правок нужен volume или AdminPanel.
|
||||
|
||||
### Полезные роуты (проверены curl'ом)
|
||||
|
||||
| Роут | Код | Что |
|
||||
|---|---|---|
|
||||
| `/` | 200 | LampaWeb (UI, `<base href="/lampa-main/">`) |
|
||||
| `/online.js` | 200 | плагин VOD — 70+ онлайн-источников |
|
||||
| `/lg.ipk` | 200 | установщик клиента для LG (6.9 МБ) |
|
||||
| `/sisi` | 200 | JSON-список платформ 18+ |
|
||||
| `/dlna` | 200 | DLNA-модуль |
|
||||
| `/ts/echo` | 200 | TorrServer (отдаёт версию, напр. `MatriX.135`) |
|
||||
| `/catalog.js` | **404** | модуль Catalog выключен |
|
||||
| `/cub`, `/api`, `/lampac.js` | 404/500 | — |
|
||||
|
||||
## Что осталось
|
||||
|
||||
1. **Лимит кэша TorrServer** — сейчас дефолт. Задать ~20 ГБ, чтобы не сожрать 396 ГБ свободных.
|
||||
2. **Подключение Lampa на ТВ** — шаг 6 плана, на стороне Alex.
|
||||
2. **`init.conf` без volume** — правки в `docker exec` не переживают пересоздание контейнера.
|
||||
3. **Шаг 7 плана — watchlist в UI Lampa** — план: [[personal/plans/lampac-watchlist-plugin]].
|
||||
4. **Проверка полосы на торрент-источнике** (remux 60–80 Мбит) — не сделана.
|
||||
@@ -13,6 +13,7 @@ tags:
|
||||
related:
|
||||
- '[[personal/tech/lampac-deployment]]'
|
||||
- '[[personal/plans/lampac-kraken]]'
|
||||
- '[[family/how-to/tv-luna-send]]'
|
||||
---
|
||||
|
||||
# Skill: `lampac-kraken-deploy`
|
||||
@@ -40,6 +41,27 @@ related:
|
||||
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` из запроса установки).
|
||||
|
||||
## Установка 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`.
|
||||
|
||||
## Проверка
|
||||
|
||||
@@ -59,3 +81,13 @@ ssh kraken 'sudo rm -rf /srv/dev-disk-by-uuid-6194539b-03e0-4f33-986b-4da09834e8
|
||||
## Не закрыто
|
||||
|
||||
- Лимит кэша TorrServer — дефолт. Рекомендуется ~20 ГБ.
|
||||
- `init.conf` не смонтирован — правки через `docker exec` не переживают пересоздание контейнера.
|
||||
- Шаг 7 — watchlist в UI Lampa: [[personal/plans/lampac-watchlist-plugin]].
|
||||
|
||||
## Реальный скилл (файл)
|
||||
|
||||
`~/.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]].
|
||||
Reference in new issue
Block a user