[2026-09-22] eagle: personal/plans/lampac-kraken.md personal/tech/lampac-deployment.md personal/tech/skill-lampac-kraken-deploy.md
This commit is contained in:
1 parent
6275a70ff4
commit
414b4eeca6
3 files changed
+237
No files matched your search
@@ -0,0 +1,175 @@
|
||||
---
|
||||
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.
|
||||
Reference in new issue
Block a user