[2026-10-30] eagle: family/how-to/truenas-infrastructure.md family/how-to/tv-lampac-plugin.md personal/plans/lampac-watched-to-watchlist.md personal/tech/konka-q85-novosibirsk.md personal/tech/lampac-deployment.md personal/tech/lampac-truenas.md

This commit is contained in:
Alexey Martemyanov committed 2026-10-30 15:27:44 +06:00
1 parent 22213fbb93
commit ac721b6a22
6 files changed
+142 -4

No files matched your search

+8
View File
@@ -1,5 +1,13 @@
# TrueNAS — инфраструктура
## Lampac и Konka — добавлено 2026-10-30
На TrueNAS развёрнут официальный Lampac1.87.3 (amd64), обычный Compose в `/mnt/RED_2TB/docker/lampac`, LAN `http://192.168.2.197:9118`; контейнеры `lampac` и `lampac-egress`. Клиент Konka Q85 в Новосибирске: `192.168.2.124`. Полная эксплуатационная заметка — [[personal/tech/lampac-truenas]].
Отдельный egress обслуживает TMDB и постеры через существующий маршрут Kraken; глобальный прокси видео не включён, общий `vless-proxy` не менялся. История хранится на TrueNAS; Kraken использует ограниченный HTTPS API в существующем Caddy-сайте `git.mallexxx.duckdns.org/lampac-history`. Синхронизации SQLite нет. Caddy применён через reload, без перезапуска общего сервиса.
Каталог генерирует только Kraken и публикует готовые JSON через ограниченный SSH-ключ. NAS делает локальный ежедневный бэкап истории в04:27 по часовому поясу хоста, хранит30 дней. Для совместной работы uid950 бэкапа и uid1000 Lampac нужны mode0664/group1000 для `TimeCode.sql` и WAL/SHM; операция записи после бэкапа проверена. Остальные исторические сведения об инфраструктуре ниже этим изменением не переаудировались.
> ✅ **ДОМАШНЯЯ АВТОМАТИЗАЦИЯ ПЕРЕНЕСЕНА НА HP t610 (2026-09-14).** HA, zigbee2mqtt, mosquitto, mbusd, modbus-bridge **и flows Node-RED** переехали на **t610** (HA OS, `192.168.2.176`). Единый документ по t610 — [[family/how-to/home-automation]]. **✅✅ TrueNAS-стек автоматизации ПОГАШЕН 2026-09-14 (ночная сессия, §5-кватер-Л плана):** `homeassistant`, `mbusd`, `mosquitto`, `nodered`, `zigbee2mqtt`, `modbus-bridge`, `ser2net` → `docker stop` + `docker update --restart=no` (**НЕ удалены**, папки `docker/*` целы — откат = `docker start` + `--restart=unless-stopped`). Проверено: порты 502/1883/8123/1880 свободны, `mallexxx.*` = 200, MQTT на t610 живой. Причина переноса: TrueNAS на пределе RAM (17/21 ГБ).
>
> **2026-09-14 (вечер-2, обновлено вечер-13) — Caddy ПЕРЕКЛЮЧЁН, Node-RED ПЕРЕНЕСЁН:**
+10 -1
View File
@@ -5,6 +5,7 @@ related:
- '[[family/how-to/tv-luna-send]]'
- '[[family/how-to/htpc-webos-luna]]'
- '[[personal/tech/lampac-deployment]]'
- '[[personal/tech/lampac-truenas]]'
tags:
- tv
- webos
@@ -14,10 +15,18 @@ tags:
- how-to
title: tv-lampac-plugin — подключение плагина Lampa на LG TV по SSH
type: how-to
updated: '2026-09-22'
updated: '2026-10-30'
---
# tv-lampac-plugin.sh — подключение плагина Lampa к Lampac на LG TV
## 2026-10-30: отдельная установка в Новосибирске
Для Konka Q85 `192.168.2.124` / webOS7.5.6 используется TrueNAS `http://192.168.2.197:9118`, приложение `com.lampac.tv`. Установка выполнена через существующий Homebrew, без включения SSH на ТВ. Инструкция и проверенные настройки — [[personal/tech/lampac-truenas]], сведения об устройстве — [[personal/tech/konka-q85-novosibirsk]].
Для встроенных постеров нужны `proxy_tmdb=true`, `proxy_tmdb_auto=false` на клиенте и серверный прокси TMDB/постеров. Видео глобально через прокси не направляется. Проверять обе группы изображений: CUB/TMDB и наш Catalog; успешный постер одной группы не доказывает работу другой.
Рецепты ниже относятся прежде всего к прежнему телевизору Kraken `192.168.1.70`; не переносить его SSH/PTY-особенности на Konka без проверки.
> Создан 2026-09-22. Проблема, которую решает: добавить плагин/источник в Lampa на ТВ
> **без пульта**, автоматически по SSH.
> Связано: [[family/how-to/tv-luna-send]], [[family/how-to/htpc-webos-luna]], [[personal/tech/lampac-deployment]].
+11 -2
View File
@@ -3,8 +3,8 @@ title: Отметка «просмотрено» из Lampa → watchlist.md
type: plan
status: implemented-bug-open-markwatched-insert
namespace: personal
created: 2026-09-23T00:00:00.000Z
updated: '2026-09-27T00:00:00.000Z'
created: '2026-09-23T00:00:00.000Z'
updated: '2026-10-30'
tags:
- lampac
- lampa
@@ -17,10 +17,19 @@ related:
- '[[family/projects/watchlist-automation]]'
- '[[personal/plans/lampac-watchlist-plugin]]'
- '[[family/documents/movies-watchlist]]'
- '[[personal/tech/lampac-truenas]]'
---
# Отметка «просмотрено» из Lampa → `movies-watchlist.md`
## Обновление источника истории — 2026-10-30
Активная TimeCode перенесена на TrueNAS; все 9 записей сохранены. Kraken читает общий HTTPS dump API через приватную переменную `LAMPAC_TIMECODE_DB`; поддержка API реализована и запушена в [watchlist-sync, 3810d77](https://github.com/mallexxx/watchlist-sync/commit/3810d77). Код развёрнут на Kraken, dry-run прочитал9 записей без изменений списка.
Единственный писатель Obsidian и генератор каталога остаётся на Kraken; на NAS публикуются готовые JSON. Синхронизации SQLite нет. Локальная SQLite Kraken сохранена для отката и больше не является активным источником ночного шага. Реальная API-запись и сохранность прогресса проверены до/после NAS-бэкапа.
Актуальная схема, права WAL/SHM и бэкапы — [[personal/tech/lampac-truenas]]. Ниже сохранена история предыдущей реализации и её отдельных замечаний; это обновление меняет источник данных и не заявляет исправление всех исторических вопросов разметки списка.
> **Проблема (Alex, 2026-09-23):** «А у нас из лампы уходят отметки просмотрено в список галочками как было в jellyfin?»
> Ответ: **нет**. Задача — сделать, чтобы уходили.
+11
View File
@@ -13,9 +13,20 @@ tags:
related:
- '[[personal/tech/home-network-config]]'
- '[[family/how-to/htpc-webos-luna]]'
- '[[personal/tech/lampac-truenas]]'
---
# Konka Q85 — Новосибирск: статус и изменения
## Lampac установлен и проверен — 2026-10-30
Установлен `com.lampac.tv` версии1.0.0 через существующий Homebrew Channel с проверкой SHA256. Сервер и сохранённый `lampac_url`: `http://192.168.2.197:9118` (TrueNAS). Полная схема: [[personal/tech/lampac-truenas]].
Настройки клиента: **`proxy_tmdb=true`, `proxy_tmdb_auto=false`**. Автоопределение региона выключало прокси и ломало встроенные постеры, хотя Catalog уже был настроен. На сервере прокси отдельно включён для TMDB API/изображений, `posterApi` и `serverproxy.image`; глобальный прокси видео не включён.
Подтверждены поиск «дюна» через клавиатуру без JavaScript-ошибок, 7 встроенных и28 собственных постеров (сломанных0), начало прямого воспроизведения тестового H.264640×360 с NAS (`readyState=4`, ошибок нет). Длительное воспроизведение/онлайн-раздача и звук на слух отдельно не подтверждены. Общая история на TrueNAS через API; репликации SQLite нет.
При работе Lampac доступна CDP-цель9998: выбирать по URL с `com.lampac.tv`, ждать `appready`. Root-вызов Homebrew через `PalmServiceBridge` проверен также из контекста установленного Lampac; SSH/Telnet на ТВ ради этого не включали. Диагностические ответы не выводить поверх приложения. Временные HTTP-установщик на роутере18085 и SSH-перенаправления после работы удалены. Настройки root/privacy ниже не менялись.
Состояние проверено **2026-10-30** во время настройки телевизора. Местоположение — Новосибирск, по указанию владельца. Это отдельный телевизор; не путать с ТВ `192.168.1.70` / webOS 5.4.2 из [[family/how-to/htpc-webos-luna]].
## Устройство и сеть
+14 -1
View File
@@ -1,7 +1,7 @@
---
title: Lampac — развёртывание и эксплуатация (Кра́кен)
created: '2026-09-22'
updated: '2026-09-25'
updated: '2026-10-30'
type: tech
namespace: personal
tags:
@@ -21,10 +21,23 @@ related:
- '[[personal/tech/multistream-single-flow-limit]]'
- '[[family/how-to/kraken-network]]'
- '[[family/how-to/tv-luna-send]]'
- '[[personal/tech/lampac-truenas]]'
---
# Lampac — развёртывание и эксплуатация (Кра́кен)
## Актуальная схема на 2026-10-30: Kraken + TrueNAS
Рабочая схема, адреса, настройки и восстановление — [[personal/tech/lampac-truenas]]. Официальный Lampac1.87.3: Kraken arm64, TrueNAS amd64; наш репозиторий — аддон, не форк сервера. Репозиторий и инструкция: [lampac-scripts/deploy](https://git.mallexxx.duckdns.org/git_admin/lampac-scripts/src/branch/main/deploy/README.md).
На TrueNAS приложение работает в `/mnt/RED_2TB/docker/lampac`, LAN `http://192.168.2.197:9118`; клиент Konka Q85 в Новосибирске (`192.168.2.124`) установлен и проверен. Прокси только метаданных/постеров: отдельный `lampac-egress` через Kraken; глобальный прокси видео не включён. На Konka обязательно `proxy_tmdb=true`, `proxy_tmdb_auto=false`; настроены также `tmdb.proxyapi/proxyimg`, `posterApi`, `serverproxy.image`.
Общая TimeCode теперь на TrueNAS, Kraken обращается через HTTPS API с отдельным `history_key` и тем же `uid`. Синхронизации SQLite нет; 9 записей сохранены. Генератор каталога/писатель Obsidian один, на Kraken; на NAS передаются только готовые JSON. Бэкап NAS учитывает uid950/uid1000: БД/WAL/SHM mode0664, group1000. Запись после бэкапа проверена.
Ошибка поиска `title.toLowerCase()` исправлена в Catalog-аддоне: discovery каждого источника привязан к имени каталога, отдельная повторная регистрация поиска убрана. Проверены реальный поиск на ТВ, встроенные и собственные постеры, прямое тестовое воспроизведение. Подробные границы проверки — в новой заметке.
Ниже сохранена история настройки Kraken за сентябрь; прежние указания читать активную историю из локальной SQLite Kraken заменены схемой выше.
> Технический справочник. Развёрнуто 2026-09-22. План и статус шагов — [[personal/plans/lampac-kraken]].
## 🔴 2026-09-25: деплой `plugin.js` модуля Catalog — контракт и подводные камни
+88
View File
@@ -0,0 +1,88 @@
---
title: Lampac на TrueNAS и Konka Q85 — рабочая схема
created: '2026-10-30'
updated: '2026-10-30'
type: tech
namespace: personal
tags:
- lampac
- truenas
- konka
- webos
- timecode
related:
- '[[personal/tech/lampac-deployment]]'
- '[[personal/tech/konka-q85-novosibirsk]]'
- '[[family/how-to/truenas-infrastructure]]'
---
# Lampac на TrueNAS и Konka Q85 — рабочая схема
Проверено 2026-10-30. Lampac развёрнут на TrueNAS, клиент установлен на Konka Q85 в Новосибирске. Это аддон к официальному серверу, не форк Lampac.
## Серверы и исходники
- TrueNAS: `truenas_admin@mallexxx.duckdns.org`, каталог `/mnt/RED_2TB/docker/lampac`, адрес приложения `http://192.168.2.197:9118`.
- Обычный Docker Compose, не TrueNAS Apps. Контейнер `lampac`: официальный образ `ghcr.io/lampac-nextgen/lampac:1.87.3`, amd64, лимиты 2 ГБ RAM / 1 CPU, порт опубликован только на LAN-адресе. GPU-транскодирование не настроено.
- Kraken остаётся на официальном arm64-образе 1.87.3 и прежнем адресе `http://192.168.1.14:9118`.
- Mac: `/Users/admin/Developer/lampac-scripts`, ветка `main`, [Gitea](https://git.mallexxx.duckdns.org/git_admin/lampac-scripts).
- Генератор: `/Users/admin/Developer/watchlist-sync`, ветка `main`, [GitHub](https://github.com/mallexxx/watchlist-sync).
- Точные Compose, init.conf, шаблоны и инструкция восстановления — [deploy/README.md](https://git.mallexxx.duckdns.org/git_admin/lampac-scripts/src/branch/main/deploy/README.md). Приватные ключи и рабочие конфиги с секретами в git не добавляются.
## Konka и встроенные постеры
Konka Q85: `192.168.2.124`, webOS 7.5.6; приложение `com.lampac.tv` версии 1.0.0 установлено через существующий Homebrew Channel с проверкой SHA256 пакета. Его `lampac_url` в localStorage: `http://192.168.2.197:9118`. Настройку root/privacy не меняли; Developer Mode не устанавливали.
Пустые постеры имели два отдельных условия: NAS не получал TMDB напрямую, а клиентская автоматика могла выключать прокси. На ТВ сохранены **`proxy_tmdb=true` и `proxy_tmdb_auto=false`**. Одной настройки серверного poster fetcher недостаточно: при выключенном клиентском флаге CUB обращается к `image.tmdb.org` напрямую.
На NAS отдельный контейнер `lampac-egress` предоставляет SOCKS только внутри сети Lampac, без опубликованного порта. Он использует существующий авторизованный маршрут `kraken-user` через Caddy/VLESS и Kraken. Его приватный конфиг: `config-module/egress.json`, mode0640, group1000; шаблон без клиентского ID — в репозитории.
Прокси `socks5://lampac-egress:1080` включён в:
- `tmdb.proxyapi` и `tmdb.proxyimg` — встроенные TMDB/CUB;
- `posterApi` — постеры карточек Catalog;
- `serverproxy.image` — обработчик изображений.
**Глобальный прокси для HTTP/видео не включён.** Проверенный тестовый видеопоток шёл напрямую с LAN-адреса NAS. Общий `vless-proxy` не меняли; при проверке его исходящие TLS-соединения обрывались. Это наблюдение на дату настройки, а не установленная причина отказа общей инфраструктуры.
Внутренний вход Caddy — `192.168.2.197:8443`, TLS-имя `vpn.mallexxx.duckdns.org`. На `192.168.2.197:443` находится интерфейс TrueNAS: использовать его вместо 8443 нельзя, сертификат другой.
## Единая история без синхронизации SQLite
Рабочая TimeCode находится на TrueNAS в постоянном `database/TimeCode.sql`. Kraken-клиент обращается к тому же серверу через HTTPS API. **Двусторонней репликации SQLite, rsync БД или общего сетевого файла БД нет.**
История из Kraken перенесена один раз штатными `/timecode/dump` → `/timecode/set`; сохранены все 9 записей и их прогресс. Оба сервера используют одинаковый серверный `instance.uid`; профили остаются отдельными областями. Старая БД Kraken оставлена для отката.
В существующем HTTPS-сайте Caddy выделен префикс `https://git.mallexxx.duckdns.org/lampac-history` с точным списком TimeCode-маршрутов. Без правильного `history_key` — 404; прочие маршруты Lampac наружу через него не открыты. Gitea продолжает работать. Выполнен reload Caddy, не перезапуск общего сервиса.
Ключ транспорта называется **`history_key`, не `token`**: `token` в Lampac меняет владельца данных. В сгенерированном клиенте и чтение, и запись должны независимо передавать `uid`; это проверяется исполнением реальных URL-методов в тесте.
Kraken: приватный результат `scripts/build_timecode.py` установлен в `config-module/timecode-plugin.js`, примонтирован в `/lampac/module/Sync/TimeCode/plugin.js:ro`. NAS использует штатный локальный TimeCode-клиент. Межсайтовые WebSocket-уведомления не добавлялись; прогресс читается при обновлении карточки/таймлайна.
## Каталог и отметки Obsidian
Единственный генератор и писатель Obsidian остаётся на Kraken. Ночной `/home/kraken/scripts/watchlist-nightly.sh` после сборки каталога публикует готовые JSON на NAS через `publish_feed.py`.
На NAS ключ приёма ограничен `restrict` и forced command `receive_feed.py --root /mnt/RED_2TB/docker/lampac`. Принимаются только файлы каталога; SQL, ссылки, пути вне разрешённого списка и код отклоняются. Файлы заменяются атомарно по одному, карточки раньше основного манифеста. Проверена публикация 544 файлов.
`watchlist-sync` читает общий HTTPS dump через `LAMPAC_TIMECODE_DB` в приватном `.env`. Проверен dry-run: 9 записей, изменений списка не внесено. Второй генератор/писатель на NAS не запущен. Порог отметки фильма — 90%; существующее поведение сериалов этим изменением не расширялось.
## Данные и бэкапы
Постоянные `wwwroot` и `data` при первой установке нужно заполнить из образа до запуска. Пустые bind mounts скрывают и frontend, и резервные Cloudflare IP-файлы; при недоступной сети это приводило к падению старта. Конфиги должны читаться uid1000: режим0600 после SCP для `init.conf` не подходит.
Контейнер пишет от uid1000/gid1000, администратор NAS — uid950 в группе1000. **`TimeCode.sql`, `-wal`, `-shm` должны иметь mode0664 и group1000.** Read-only SQLite-подключение тоже может создавать WAL/SHM. Первый бэкап от uid950 создал их с0644, после чего сервер не мог записывать прогресс. Владельцы/права исправлены, старые подключения закрыты перезапуском только Lampac.
`scripts/backup_history.py` перед открытием проверяет group write, закрывает подключения, использует SQLite online backup и проверку целостности. NAS crontab: ежедневно04:27 по времени хоста, хранение30 дней в `backups/timecode`. Часовой пояс приложения — Asia/Novosibirsk; расписание cron не следует автоматически считать этим часовым поясом. Это локальный бэкап, не синхронизация БД.
После исправления проверена API-запись **до и после повторного бэкапа**; все 9 записей и значения прогресса сохранены. Для отката сохранены прежние Compose/Caddy/настройки и снимки истории. Живую БД обычным копированием не подменять.
## Что проверено
- HTTP200 и окончание запуска `Configure complete`; одного Docker healthcheck недостаточно.
- Реальный поиск «дюна» на Konka через экранную клавиатуру: результаты получены, JavaScript-ошибок нет, вкладка watchlist одна.
- На видимом экране: 7 встроенных и28 каталожных постеров загружены, сломанных0; настройки прокси подтверждены после перезагрузки приложения.
- Плеер Lampac декодировал тестовый H.264-поток640×360 с NAS: время увеличивалось, `readyState=4`, ошибки отсутствовали. Непрерывный пяти-/десятиминутный тест, реальная онлайн-раздача и звук на слух отдельно не подтверждены.
- 10 автоматических тестов: 5 поиска, 3 развёртывания/истории/бэкапа, 2 чтения TimeCode API.
- Изменения запушены в обе репозитории; локальные копии в Developer обновлены. Временный установщик на роутере18085, ролик и диагностические SSH-перенаправления удалены.
Связано: [[personal/tech/lampac-deployment]], [[personal/tech/konka-q85-novosibirsk]], [[family/how-to/truenas-infrastructure]], [[personal/plans/lampac-watched-to-watchlist]].