Files
obsidian-vault/personal/plans/lampac-kraken.md
T

139 lines
6.4 KiB
Markdown
Raw Blame History

This file contains ambiguous Unicode characters
This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.
---
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://<lampac>: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 → «Использовать основную ссылку» → `<lampac>:9118`
- плагин: `http://<lampac>: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]] — линки ТВ