--- title: Lampac на Кра́кене — развёртывание created: '2026-09-21' updated: '2026-09-22' type: plan namespace: personal status: proposed tags: - lampac - torrserver - jellyfin - webos - streaming - kraken related: - '[[personal/tech/multistream-single-flow-limit]]' - '[[personal/tech/inter-site-throughput-taiga-to-mac]]' - '[[personal/tech/xray-reverse-tunnel-kraken-truenas]]' - '[[family/how-to/kraken-network]]' --- # Lampac на Кра́кене — развёртывание > План составлен 2026-09-21, записан в vault 2026-09-22. > В плане учтены прямые правки Alex из сессии обсуждения. ## Задача Дать ТВ в Бишкеке воспроизведение без дёрганья. Корень проблемы — **single-flow TCP при RTT 104 мс**: Jellyfin отдаёт видео одним потоком → ~28–45 Мбит, а remux'ы требуют 60–80. ## ❌ Отвергнутые варианты (не возвращаться) | Вариант | Почему нет | |---|---| | Lampac/бэкенд **на Mac** | *«нахуя нам блядь на маке что-то, на кракене блядь бэкенд»*. Бэкенд — только на Кра́кене | | 8 xray-туннелей + mux | Одно логическое окно, head-of-line blocking. Путь один (ТТК → Ростелеком) | | MPTCP по одному пути | То же — нужны **разные** физические пути | | **Транскод** | 🔴 **Кра́кен его не тянет.** Выкинут целиком | ## Замеры, на которых стоит план | Режим | Результат | |---|---| | Mac → TrueNAS, 1 SCP-поток | **~28 Мбит/с** | | Mac → TrueNAS, 4 параллельных | ~51 Мбит/с (×1.8) | | Speedtest (8 сессий) | до 120 Мбит/с | Рост ×1.8 при 4 потоках доказывает: лимит не в полосе транзита, а в **одном TCP-потоке** при RTT ~104 мс. ## Что разворачиваем `lampac-nextgen/lampac` (MIT, .NET 10), порт **9118**. Внутри: TorrServer (subprocess) + JacRed (Jackett-совместимый индексатор) + LampaWeb + TmdbProxy + DLNA. **Плагин для Lampa:** `http://:9118/online.js` **UI для LG:** `/lg.ipk` отдаёт сам Lampac. ## Целевой хост **Кра́кен** — aarch64, Debian 12, Docker 29.4.3, 25 контейнеров. `/` (SD) — 14G всего, 8.4G свободно. `/srv/...` — 1.8T, **404 ГБ свободно**. ## Шаги ### 1. Каталоги (на data-диске, НЕ на SD) ``` /srv/dev-disk-by-uuid-6194539b-.../lampac/ ├── docker-compose.yml ├── config/ ├── cache/ # кэш TorrServer — только сюда └── data/ # БД JacRed ``` ### 2. docker-compose.yml - образ `ghcr.io/lampac-nextgen/lampac:latest`, `platform: linux/arm64` - порт `9118:9118`, `restart: unless-stopped` - bind-mount `cache/` → каталог кэша TorrServer (иначе образ забьёт SD-карту) - bind-mount `config/` → конфиг - ⚠️ в контейнере рабочий каталог `/lampac`, файлы читаются **из корня**, не из `config/` ### 3. Конфиг TorrServer внутри Lampac - лимит кэша (напр. 20 ГБ) — чтобы не сожрал 404 ГБ ### 4. Первый запуск ``` curl -fsS "http://localhost:9118/version?type=hash" ``` Пусто/ошибка → `docker logs lampac`. ### 5. Доступ ТВ к Lampac Кра́кен в 192.168.2.x, ТВ в 192.168.1.x — межроутерный путь. Решается на месте (DNAT либо reverse-туннель). ### 6. Подключение Lampa на ТВ - Lampa через **Media Station X** (`.ipk` с флешки на розничных LG не работает) - Настройки → TorrServer → «Использовать основную ссылку» → `:9118` - плагин: `http://:9118/online.js` - буфер плеера: **50–100 МБ** - качество по скорости: до 10 Мбит → 720p; 10–25 → 1080p ### 7. 🔜 Следующий шаг после плана — ПЛАГИН БИБЛИОТЕКИ После того как Lampac поднят и Lampa с ним работает — **следующим шагом ставим плагин библиотеки**, чтобы ТВ видел фильмы, а не только публичные раздачи. - Источник библиотеки: файлы на **TrueNAS** (медиа-стек Radarr/Jellyfin) - Механизм: плагин Lampa, который ходит к библиотеке как к источнику воспроизведения - Детали механизма — **отдельный план** после приёмки шагов 1–6 ## Проверка (приёмка) 1. `docker ps` — контейнер `Up` 2. `curl /version?type=hash` — версия отдаётся 3. **С ТВ открыть Lampa → играет без дёрганья 5+ минут** 4. Битрейт потока на ТВ **≤15 Мбит** **Приёмка = видно в UI и смотрится**, не «API отвечает». ## Откат - `docker compose down` + удалить каталог `/srv/.../lampac/` - Стек Кра́кена не трогаем — Lampac изолирован ## Риски | Риск | Митигация | |---|---| | Кэш TorrServer съест диск | bind-mount на 1.8T + лимит кэша | | ARM64-образ отсутствует | `docker manifest inspect`; иначе сборка из исходников | | SD-карта кончится | всё пишущее — только на `/srv` | | ТВ не достанет 9118 | шаг 5 решается на месте | ## Связанные - [[personal/tech/multistream-single-flow-limit]] — исследование, ранжирование путей - [[personal/tech/inter-site-throughput-taiga-to-mac]] — замеры полосы и RTT - [[personal/tech/xray-reverse-tunnel-kraken-truenas]] — reverse-туннель - [[family/how-to/kraken-network]] — линки ТВ