--- title: Lampac — развёртывание и эксплуатация (Кра́кен) created: '2026-09-22' updated: '2026-09-22' type: tech namespace: personal tags: - lampac - torrserver - docker - kraken - streaming - webos related: - '[[personal/plans/lampac-kraken]]' - '[[personal/tech/multistream-single-flow-limit]]' - '[[family/how-to/kraken-network]]' --- # Lampac — развёртывание и эксплуатация (Кра́кен) > Технический справочник. Развёрнуто 2026-09-22. План и статус шагов — [[personal/plans/lampac-kraken]]. ## Что это `lampac-nextgen/lampac` (MIT, .NET 10) — серверный бэкенд для Lampa. Один контейнер, порт **9118**. **Внутри (всё в одном образе):** - **TorrServer** — subprocess, кэш раздач - **JacRed** — Jackett-совместимый индексатор - **LampaWeb** — веб-морда - **TmdbProxy**, **DLNA**, **Sync** 🔴 **TorrServer встроенный. Отдельный контейнер не нужен.** Проверено 2026-09-22: в логах первого старта видно `compilation TorrServer`. Внешний TS — лишняя сущность. ## Расположение на Кра́кене ``` /srv/dev-disk-by-uuid-6194539b-03e0-4f33-986b-4da09834e82f/lampac/ ├── docker-compose.yml ├── config/ → /lampac/config ├── cache/ → /lampac/cache (кэш TorrServer — только сюда) └── data/ → /lampac/data (БД JacRed) ``` Владелец `kraken:kraken`, права `755`. ⚠️ Всё пишущее — на data-диск (1.8T). **НЕ на SD** (`/`, 14G, 8.6G свободно). ## 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 ``` ⚠️ В контейнере рабочий каталог `/lampac`, часть файлов читается **из корня**, не из `config/`. ## Управление ```bash ssh kraken cd /srv/dev-disk-by-uuid-6194539b-03e0-4f33-986b-4da09834e82f/lampac docker compose up -d docker compose logs -f docker compose restart docker compose down ``` Правка `docker-compose.yml` — без `sudo` (каталог `kraken:kraken`). Создание новых каталогов в корне диска — **через `sudo`** (корень `root:root`). У `kraken` sudo без пароля. ## Проверка работоспособности ```bash curl -sS --max-time 20 "http://localhost:9118/version?type=hash" # → 46b29e1fe8fa6021cd83e75c41abffb7 (для текущего :latest) ``` По сети: `http://192.168.1.14:9118/version?type=hash` — то же значение. ## ⚠️ Питфоллы ### 1. Первый старт долгий (~4 минуты) Контейнер компилирует и грузит ~40 native-модулей: `compilation LampaWeb`, `DLNA`, `GStreamer`, `Sync`, `TorrServer`, ... затем `loaded module: <имя>`. Пока идёт загрузка, HTTP **рвёт соединение**: ``` curl: (56) Recv failure: Connection reset by peer ``` 🔴 **`health: healthy` не означает готовность HTTP.** Статус встаёт раньше. Признак готовности — лог **`Configure complete`** (идёт после последнего `loaded module:`). **Не перезапускать контейнер, не считать это поломкой.** Просто ждать. ### 2. `docker manifest inspect` с Mac отдаёт `denied` GHCR требует авторизацию при обращении с Mac. Проверять наличие `linux/arm64` **из Кра́кена**: ```bash ssh kraken 'docker manifest inspect ghcr.io/lampac-nextgen/lampac:latest' | jq -r '.manifests[].platform | .os + "/" + .architecture' # linux/amd64 # linux/arm64 ← есть, сборка из исходников не нужна # unknown/unknown # unknown/unknown ``` ### 3. Шаблон логов первого старта ``` compilation Alloha compilation LampaWeb ... loaded module: Vibix loaded module: TorrServer ... Configure complete ← HTTP начинает отвечать ``` ## Сеть | Хост | IP | |---|---| | Кра́кен (eth0) | `192.168.1.14` (второй адрес `192.168.1.15`) | | ТВ LG | `192.168.1.70` | | Mac Alex | `192.168.1.57` | Один сегмент `192.168.1.x` — туннели и проброс портов не нужны. Подробнее: [[family/how-to/kraken-network]]. ## Занятые порты на Кра́кене (2026-09-22) `7878` Radarr · `8096` Jellyfin · `8191` FlareSolverr · `8989` Sonarr · `9000` Portainer · `9091` Transmission · `9696` Prowlarr · `51413` Transmission (UDP) · **`9118` Lampac** Выбор порта — `docker compose config` + `sudo ss -tlnp` перед деплоем. ## Интеграция с Lampa (ТВ) - Плагин: `http://192.168.1.14:9118/online.js` - TorrServer в Lampa: Настройки → TorrServer → «Использовать основную ссылку» → `http://192.168.1.14:9118` - Буфер плеера: 50–100 МБ - UE на LG: `.ipk` с флешки на розничных телевизорах **не работает** → ставить через **Media Station X** - `/lg.ipk` отдаёт сам Lampac ## Откат ```bash cd /srv/.../lampac && docker compose down sudo rm -rf /srv/dev-disk-by-uuid-6194539b-03e0-4f33-986b-4da09834e82f/lampac ``` Lampac изолирован — остальной стек Кра́кена не затрагивается. ## Что осталось 1. **Лимит кэша TorrServer** — сейчас дефолт. Задать ~20 ГБ, чтобы не сожрать 396 ГБ свободных. 2. **Подключение Lampa на ТВ** — шаг 6 плана, на стороне Alex.