[2026-09-22] eagle: family/how-to/tv-lampac-plugin.md personal/plans/lampac-kraken.md personal/plans/lampac-watchlist-plugin.md personal/tech/lampac-deployment.md
This commit is contained in:
1 parent
3e4ebf70aa
commit
0edc4fe42f
4 files changed
+443
-86
No files matched your search
@@ -49,9 +49,13 @@ related:
|
||||
## Что разворачиваем
|
||||
|
||||
`lampac-nextgen/lampac` (MIT, .NET 10), порт **9118**.
|
||||
Внутри: TorrServer (subprocess) + JacRed (Jackett-совместимый индексатор) + LampaWeb + TmdbProxy + DLNA.
|
||||
Внутри: TorrServer (subprocess) + JacRed (Jackett-совместимый индексатор) + LampaWeb + TmdbProxy + DLNA
|
||||
+ **Catalog** (каталоги; включён нами — см. шаг 7).
|
||||
|
||||
**Плагины для Lampa:**
|
||||
- `http://<lampac>:9118/online.js` — онлайн-источники (70+)
|
||||
- `http://<lampac>:9118/catalog.js` — каталог «Мой список» (watchlist)
|
||||
|
||||
**Плагин для Lampa:** `http://<lampac>:9118/online.js`
|
||||
**UI для LG:** `/lg.ipk` отдаёт сам Lampac.
|
||||
|
||||
## Целевой хост
|
||||
@@ -134,14 +138,21 @@ curl -fsS "http://localhost:9118/version?type=hash"
|
||||
- буфер плеера: **50–100 МБ**
|
||||
- качество по скорости: до 10 Мбит → 720p; 10–25 → 1080p
|
||||
|
||||
### 7. 🔜 Следующий шаг после плана — ПЛАГИН БИБЛИОТЕКИ
|
||||
### 7. 🔜 Шаг 7 плана — ВЫПОЛНЕН (серверная часть)
|
||||
|
||||
После того как Lampac поднят и Lampa с ним работает — **следующим шагом ставим плагин библиотеки**,
|
||||
чтобы ТВ видел фильмы, а не только публичные раздачи.
|
||||
**Статус: сделано 2026-09-22.** Отдельный план — [[personal/plans/lampac-watchlist-plugin]].
|
||||
|
||||
- Источник библиотеки: медиафайлы на диске Кра́кена
|
||||
- Механизм: плагин Lampa, который ходит к библиотеке как к источнику воспроизведения
|
||||
- Детали механизма — **отдельный план** после приёмки шагов 1–6
|
||||
Итог: `movies-watchlist.md` отдаётся каталогом Lampa через модуль `Catalog`:
|
||||
|
||||
- Плагин на ТВ: `http://192.168.1.14:9118/catalog.js` → источник **«Мой список»**
|
||||
- 4 категории: Фильмы 360 · Новинки 34 · Мультфильмы 3 · Аниме 7
|
||||
- Автообновление: cron `30 2 * * *` → `~/scripts/watchlist-catalog.sh`
|
||||
|
||||
⚠️ **Исходная формулировка шага 7 была неточной** («плагин, который ходит к библиотеке
|
||||
как к источнику воспроизведения»). Уточнено Alex: задача — **отображение списка**, не плейбэк.
|
||||
Механизм — встроенный модуль `Catalog`, свой плагин не писался.
|
||||
|
||||
**Осталось:** Alex добавляет плагин на ТВ пультом (1 минута, см. план).
|
||||
|
||||
## Журнал сессии 2026-09-22 (вторая часть)
|
||||
|
||||
@@ -241,47 +252,85 @@ curl -fsS "http://localhost:9118/version?type=hash"
|
||||
**Отключить выбор источника:** Lampa → Настройки → Плагины → выключить `online.js`.
|
||||
Останутся только торренты.
|
||||
|
||||
### Следующий шаг
|
||||
### Следующий шаг — ✅ ВЫПОЛНЕН 2026-09-22
|
||||
|
||||
Шаг 7 плана — **плагин библиотеки** (watchlist в UI Lampa).
|
||||
Детали — отдельный план `personal/plans/lampac-watchlist-plugin.md`.
|
||||
Отдельно решается: [[family/how-to/tv-luna-send]] и [[family/how-to/htpc-webos-luna]].
|
||||
Шаг 7 (watchlist в UI Lampa) **сделан**. Полный план и все питфоллы —
|
||||
[[personal/plans/lampac-watchlist-plugin]]. Кратко:
|
||||
|
||||
### Где что лежит (шаги 1–2, финально)
|
||||
- Включён встроенный модуль **`Catalog`** (`SkipModules` без него + `catalog: true`)
|
||||
- Написан генератор `gen_watchlist.py`: `movies-watchlist.md` → JSON
|
||||
- `init.conf`, `sites/`, `wwwroot/` смонтированы на HDD — правки переживают пересоздание
|
||||
- Cron `30 2 * * *` → `~/scripts/watchlist-catalog.sh`
|
||||
- Отдача: 4 категории — Фильмы 360 · Новинки 34 · Мультфильмы 3 · Аниме 7
|
||||
|
||||
⚠️ **Смонтирован `config-module/init.conf` — это исправляет шаг «init.conf без volume»**,
|
||||
который раньше числился в открытых задачах.
|
||||
|
||||
Осталось на Alex: добавить на ТВ плагин `http://192.168.1.14:9118/catalog.js` (пультом).
|
||||
|
||||
Сопутствующие доки: [[family/how-to/tv-luna-send]], [[family/how-to/htpc-webos-luna]],
|
||||
[[family/how-to/tv-lampac-plugin]].
|
||||
|
||||
### Где что лежит (финально)
|
||||
|
||||
```
|
||||
Кра́кен: /srv/dev-disk-by-uuid-6194539b-03e0-4f33-986b-4da09834e82f/lampac/
|
||||
├── docker-compose.yml # lampac + встроенный TorrServer, порт 9118
|
||||
├── config/ # → /lampac/config
|
||||
├── cache/ # → /lampac/cache (кэш TorrServer)
|
||||
└── data/ # → /lampac/data (БД JacRed)
|
||||
├── docker-compose.yml # lampac + встроенный TorrServer, порт 9118
|
||||
├── config/ # → /lampac/config
|
||||
├── cache/ # → /lampac/cache (кэш TorrServer)
|
||||
├── data/ # → /lampac/data (БД JacRed)
|
||||
├── config-module/init.conf # → /lampac/init.conf:ro (включает Catalog)
|
||||
├── catalog/sites/ # → /lampac/module/Catalog/sites
|
||||
├── catalog/override/ # → /lampac/module/Catalog/override
|
||||
├── wwwroot/ # → /lampac/wwwroot (JSON-каталог)
|
||||
└── scripts/gen_watchlist.py # генератор .md → JSON
|
||||
```
|
||||
|
||||
Содержимое `docker-compose.yml`:
|
||||
```yaml
|
||||
services:
|
||||
lampac:
|
||||
image: ghcr.io/lampac-nextgen/lampac:latest
|
||||
container_name: lampac
|
||||
platform: linux/arm64
|
||||
restart: unless-stopped
|
||||
ports:
|
||||
- "9118:9118"
|
||||
environment:
|
||||
- TZ=Asia/Bishkek
|
||||
- LANG=ru_RU.UTF-8
|
||||
volumes:
|
||||
- ./config:/lampac/config
|
||||
- ./cache:/lampac/cache
|
||||
- ./data:/lampac/data
|
||||
```
|
||||
Полный актуальный compose — в [[personal/tech/lampac-deployment]] (раздел docker-compose).
|
||||
Здесь не дублирую: файл меняется, а копия в двух местах гарантированно рассинхронизируется.
|
||||
|
||||
Управление: `cd /srv/.../lampac && docker compose {up -d,logs -f,restart,down}`.
|
||||
Правка compose — без `sudo` (каталог `kraken:kraken`), но создание каталогов — через `sudo mkdir`.
|
||||
|
||||
## Журнал сессии 2026-09-22
|
||||
## Журнал сессии 2026-09-22 (третья часть) — каталог watchlist
|
||||
|
||||
**Итог: правки плана выполнены, шаги 1–6 НЕ начаты.**
|
||||
**Шаг 7 выполнен. Все шаги 1–7 базового плана закрыты (кроме шага 3 — лимит кэша).**
|
||||
|
||||
Работа велась по отдельному плану [[personal/plans/lampac-watchlist-plugin]].
|
||||
Ключевое, что касается этого документа:
|
||||
|
||||
**Изменён `docker-compose.yml`** — добавлено 4 монтирования (7 всего):
|
||||
|
||||
| Монтирование | Зачем |
|
||||
|---|---|
|
||||
| `./config-module/init.conf:/lampac/init.conf:ro` | включает модуль Catalog |
|
||||
| `./catalog/sites:/lampac/module/Catalog/sites` | описания каталогов |
|
||||
| `./catalog/override:/lampac/module/Catalog/override` | переопределения |
|
||||
| `./wwwroot:/lampac/wwwroot` | JSON-каталог отдаётся статикой |
|
||||
|
||||
**Создан `config-module/init.conf`** — минимальный, перекрывает `base.conf`:
|
||||
`SkipModules` без `Catalog` + `LampaWeb.initPlugins.catalog: true`.
|
||||
|
||||
🔴 **Питфолл `SkipModules`:** наш `init.conf` **перекрывает** `base.conf`, а не сливается с ним.
|
||||
Поэтому список `SkipModules` надо повторять **целиком** — иначе модули из base вернутся к дефолту.
|
||||
|
||||
### Ошибки сессии
|
||||
|
||||
1. 🔴 **Придумал вопрос «что играть по клику»** (развилка A/B/C про источник воспроизведения).
|
||||
Alex: «я чё тебе сказал в постановке задачи». Задача была — **отображение**, не плейбэк.
|
||||
**Урок:** в постановке было сказано буквально; развилки сверх неё — выдумка.
|
||||
2. 🔴 **Полез разбирать `luna-send` наугад**, не прочитав доки по ТВ. Они уже были:
|
||||
[[family/how-to/tv-luna-send]], [[family/how-to/htpc-webos-luna]] — там прямо описан
|
||||
питфолл «пишет в tty, нужен `script -q -c`». Alex: «Доки по тв читал?!».
|
||||
**Урок:** перед работой с хостом — искать док в vault, а не экспериментировать.
|
||||
|
||||
### Что осталось
|
||||
|
||||
1. **Лимит кэша TorrServer** (шаг 3) — дефолт. Единственный незакрытый шаг. Критичность низкая.
|
||||
2. **Alex добавляет плагин на ТВ** пультом — `catalog.js`.
|
||||
3. **Проверка полосы на торрент-источнике** — не сделана.
|
||||
|
||||
## Журнал сессии 2026-09-22
|
||||
|
||||
### Что сделано
|
||||
|
||||
|
||||
Reference in new issue
Block a user