[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
@@ -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]] — источник данных
|
||||
Reference in new issue
Block a user