[2026-09-22] eagle: personal/plans/lampac-watchlist-plugin.md personal/tech/lampac-deployment.md
This commit is contained in:
1 parent
e783957622
commit
128152fc6e
2 files changed
+555
-5
No files matched your search
@@ -38,6 +38,20 @@ updated: '2026-09-22'
|
||||
> **Итог одной строкой:** серверная часть каталога работает (4 категории, 360/33/3/7),
|
||||
> но реализована не по замыслу: подменяет каталог вместо добавления секций,
|
||||
> и не использует Radarr как источник постеров/ID.
|
||||
>
|
||||
> **Обновление 2026-09-22 (вечер):** Alex лично нашёл источник в UI
|
||||
> («остальное → основной источник → Мой список»), увидел результат и подтвердил
|
||||
> диагноз: секции подменяют CUB, нет превью, элементы — сырые строки файла.
|
||||
> Затем сам сформулировал целевую схему (Radarr = источник метаданных **без автоскачки**,
|
||||
> просмотр через TorrServer, файлы на HDD не пишутся) → записано в **«ПЕРЕДЕЛКА 2»**.
|
||||
> План работ на апруве, **ничего не выполнено**.
|
||||
>
|
||||
> **Аудит «как это реализуемо» — ✅ ЗАВЕРШЁН 2026-09-22.** Проверено всё:
|
||||
> TorrServer **на диск не пишет** (`UseDisk: false`, RAM-кэш 96 МБ) — главный вопрос закрыт;
|
||||
> поиск торрентов работает через **Jackett-API самого Lampac** (отдельный Jackett не нужен);
|
||||
> найдены **оба** виновника автоскачки — Radarr (45 monitored, очередь 6) и
|
||||
> **Sonarr** (13 monitored, очередь 19). См. «✅ ПРОВЕРКА "как это реализуемо"».
|
||||
> ⚠️ Порядок работ теперь включает Sonarr — раньше он в плане не учитывался.
|
||||
|
||||
## 🔴 АРХИТЕКТУРНАЯ ОШИБКА 2026-09-22 — почему каталог «не работает»
|
||||
|
||||
@@ -86,6 +100,29 @@ updated: '2026-09-22'
|
||||
(`index.php?kp_query=...`). Отсюда жалоба «при открытии элемента пишет *здесь пусто*»:
|
||||
Lampa идёт по ссылке, получает страницу поиска, а не фильм.
|
||||
|
||||
**Замер 2026-09-22 (доказательство, воспроизводимо):**
|
||||
|
||||
```bash
|
||||
curl -s "http://192.168.1.14:9118/catalog/list?plugin=watchlist&cat=films" \
|
||||
| jq '[.results[] | select(.img == null)] | length' # → 360
|
||||
curl -s "..." | jq '.results | length' # → 360
|
||||
curl -s "..." | jq '[.results[] | select(.id | startswith("film/"))] | length' # → 18
|
||||
```
|
||||
|
||||
То есть **постеров 0 из 360**, рабочих карточек 18 из 360.
|
||||
|
||||
**Почему «девять» с маленькой буквы и `Gods don't give gifts`** — это не баг каталога,
|
||||
а буквально строки файла (проверено `grep -n`):
|
||||
|
||||
```
|
||||
56: - [ ] Gods don't give gifts
|
||||
64: - [ ] ❓ девять
|
||||
```
|
||||
|
||||
Каталог отдаёт строки как есть. Обе — в секции `## Новинки` (отступ 2 пробела, подсписок).
|
||||
Alex: «Отображаются элементы типа "девять"(с маленькой буквы), Gods don't give gifts —
|
||||
который вообще ещё не вышел — короче не реальные фильмы а буквально пункты списка.»
|
||||
|
||||
**Правильный источник — Radarr API.** Alex: «Они уже резолвятся же блядь!! Оно же
|
||||
добавлялось в arr!» — TMDB ID и постеры уже есть там, потому что фильмы добавлялись
|
||||
в Radarr.
|
||||
@@ -605,6 +642,360 @@ ssh kraken 'sed -i "s/\"catalog\": true/\"catalog\": false/" \
|
||||
Для строк без рейтинга (например `- [ ] Gods don't give gifts`) — сортировать как `0`, в конец группы.
|
||||
Опционально: добирать через TMDB (кэш `tmdbproxy` в Lampac) — решить при реализации.
|
||||
|
||||
## 🎯 ПЕРЕДЕЛКА 2 — Radarr как источник метаданных без автоскачки (план Alex, 2026-09-22)
|
||||
|
||||
### Логика Alex (дословно)
|
||||
|
||||
> «Мы блядь убираем автоскачку на диск так?! При этом ты оставляешь radarr/sonarr
|
||||
> источником, так?? И в него из списка добавляется скриптом, но не грузит автоматом так?
|
||||
> Сейчас ты отменяешь текущие загрузки, так??»
|
||||
|
||||
**Расшифровка:**
|
||||
|
||||
| # | Что | Как |
|
||||
|---|---|---|
|
||||
| 1 | **Автоскачка на HDD — выключить** | Radarr/Sonarr ничего не качают сами |
|
||||
| 2 | **Radarr/Sonarr остаются источником** | TMDB ID + постеры для каталога Lampa |
|
||||
| 3 | **Скрипт добавляет в них из списка** | `.md` → Radarr API, фильм получает метаданные |
|
||||
| 4 | **Но не грузит автоматом** | Добавление ≠ загрузка |
|
||||
| 5 | **Текущие загрузки — отменить** | 6 записей в очереди |
|
||||
|
||||
### Как это в Radarr технически (проверено 2026-09-22)
|
||||
|
||||
⚠️ **Важно для понимания:** в Radarr «добавить, но не качать» = **`monitored: false`**.
|
||||
Отдельного состояния «источник, но не грузить» нет. При добавлении через API Radarr
|
||||
**сам ходит в TMDB** и тянет метаданные (постер, год, описание) — даже при `monitored: false`.
|
||||
Это и есть решение задачи №2+№3+№4.
|
||||
|
||||
### Доступ к Radarr API (проверено 2026-09-22, воспроизводимо)
|
||||
|
||||
```bash
|
||||
# API-ключ лежит в config.xml (не в БД)
|
||||
ssh kraken 'grep -oE "<ApiKey>[^<]+</ApiKey>" \
|
||||
/srv/dev-disk-by-uuid-6194539b-03e0-4f33-986b-4da09834e82f/docker/radarr/config/config.xml' \
|
||||
| sed 's/<[^>]*>//g' # → cbcb8ec320104359920c0f611d503c7b
|
||||
```
|
||||
|
||||
🔴 **ПИТФОЛЛ: `-L` обязателен.** Без него Radarr отдаёт **307 с пустым телом** и `jq length` падает:
|
||||
|
||||
```bash
|
||||
curl -s "http://localhost:7878/api/v3/movie?apikey=$KEY" | jq length # → пустой вывод, 0 байт
|
||||
curl -sL "http://localhost:7878/api/v3/movie?apikey=$KEY" | jq length # → 200, 50
|
||||
```
|
||||
|
||||
**Конфиг Radarr (замер):**
|
||||
|
||||
```bash
|
||||
curl -sL ".../api/v3/config/indexer?apikey=$KEY" | jq .rssSyncInterval # → 30 (мин)
|
||||
```
|
||||
|
||||
`rssSyncInterval: 30` = Radarr **каждые 30 минут** сам ходит в RSS-фиды и качает новое.
|
||||
Это вторая причина автоскачки помимо `monitored: true`. **Выключать надо оба.**
|
||||
|
||||
### Окружение Radarr на Кра́кене (для будущих сессий)
|
||||
|
||||
| Параметр | Значение |
|
||||
|---|---|
|
||||
| Порт | `7878` (`0.0.0.0`) |
|
||||
| Контейнер | `radarr`, образ `lscr.io/linuxserver/radarr:latest` |
|
||||
| Конфиг на HDD | `/srv/...6194539b.../docker/radarr/config/` |
|
||||
| БД | `radarr.db` (+ `-shm`, `-wal`) |
|
||||
| Постеры | `/config/MediaCover/` — **46 каталогов** |
|
||||
| `sqlite3` в контейнере | ❌ **нет** (на хосте Кра́кена — **есть**, `/usr/bin/sqlite3`) |
|
||||
| Соседи | `sonarr:8989`, `prowlarr:9696`, `transmission` |
|
||||
|
||||
⚠️ В контейнерах `sqlite3` отсутствует (см. профиль Alex) — БД читать через `strings`
|
||||
или вытаскивать файл наружу и смотреть хостовым `sqlite3`.
|
||||
|
||||
### Текущее состояние Radarr (замер 2026-09-22)
|
||||
|
||||
| Метрика | Значение |
|
||||
|---|---|
|
||||
| Фильмов всего | 50 |
|
||||
| `monitored: true` | **45** ← активны, ищут и качают |
|
||||
| `hasFile: true` | 24 (уже на диске) |
|
||||
| `rssSyncInterval` | **30** мин ← Radarr ходит в RSS каждые полчаса |
|
||||
| Очередь | **6 записей** (все `warning`, ничего не качается активно) |
|
||||
| Transmission | простаивает (1% CPU) |
|
||||
|
||||
Очередь (id для отмены):
|
||||
|
||||
```
|
||||
598407147 Brokeback Mountain.mkv
|
||||
1092005446 Гладиатор (2000) (DTS X) DV.mkv
|
||||
914899324 Sorry.to.Bother.You.BDRemux.1080p.NNMClub.pk.mkv
|
||||
1671545331 Мортал Комбат 2 (DTS-HD MA).mkv
|
||||
1486734395 Gorod.boga.2002.BDRemux.1080p.mkv
|
||||
139445264 День хомячка (2003)
|
||||
```
|
||||
|
||||
## ✅ ПРОВЕРКА «как это реализуемо» — полный аудит 2026-09-22 (вечер)
|
||||
|
||||
Alex: «Мне надо чтоб lampa источники видела и играла фильмы из списка и cub.
|
||||
При этом мы перестаем качать торренты на диск! Как это реализуемо??
|
||||
Проверь блядь все чтобы ты опять не обосрался».
|
||||
|
||||
Проверено всё, что может качать или мешать. **Ничего не менялось — только чтение.**
|
||||
|
||||
### 🎯 Главная находка: TorrServer на диск НЕ пишет
|
||||
|
||||
Ключевой факт, снимающий главный вопрос Alex («при этом фильмы не будут
|
||||
скачиваться на hdd я правильно понимаю?!»). Конфиг TorrServer внутри Lampac:
|
||||
|
||||
```bash
|
||||
ssh kraken 'docker exec lampac cat /lampac/data/ts/settings.json' | jq .
|
||||
```
|
||||
|
||||
```jsonc
|
||||
{
|
||||
"BitTorr": {
|
||||
"CacheSize": 100663296, // 96 МБ — RAM-кэш
|
||||
"UseDisk": false, // 🔴 НА ДИСК НЕ ПИШЕТ
|
||||
"TorrentsSavePath": "", // путь сохранения пуст
|
||||
"TorrentDisconnectTimeout": 180, // раздача живёт 3 мин после остановки
|
||||
"PreloadCache": 0,
|
||||
"ReaderReadAHead": 83
|
||||
}
|
||||
}
|
||||
```
|
||||
|
||||
**`UseDisk: false`** — TorrServer держит всё в RAM (96 МБ) и **на диск не пишет ничего**.
|
||||
Это ровно то, что нужно Alex. Настраивать не надо, уже так.
|
||||
|
||||
### TorrServer жив и работает (проверено)
|
||||
|
||||
```bash
|
||||
curl -s "http://192.168.1.14:9118/ts/echo" # → MatriX.135 (версия, живой)
|
||||
curl -s "http://192.168.1.14:9118/ts/torrents" # → 404 (это не тот эндпоинт)
|
||||
curl -s -X POST "http://192.168.1.14:9118/ts/torrents" \
|
||||
-H 'Content-Type: application/json' -d '{"action":"list"}' # → [] пусто, ничего не висит
|
||||
```
|
||||
|
||||
Кэш Lampac: `/lampac/cache/` = 31 МБ (SQLite, Playwright, gstreamer-registry) —
|
||||
**не фильмы**. `/lampac/data/` = 44 МБ (ts/settings.json, dlna/thumbs). Диск не забит.
|
||||
|
||||
### Поиск торрентов — Jackett внутри Lampac, отдельный НЕ нужен
|
||||
|
||||
🔴 **ПИТФОЛЛ-ЛОВУШКА: в `lampainit.js` стоит `parser_torrent_type = 'jackett'`,
|
||||
но отдельного контейнера Jackett НЕТ.** Это не ошибка — Lampac **сам отдаёт
|
||||
Jackett-совместимый API**.
|
||||
|
||||
```bash
|
||||
# что прописывает Lampac клиенту:
|
||||
curl -s "http://192.168.1.14:9118/lampainit.js" | grep -oE "Lampa.Storage.set\('[^']+', ?'[^']*'\)"
|
||||
# Lampa.Storage.set('jackett_url', '192.168.1.14:9118')
|
||||
# Lampa.Storage.set('jackett_key', '1')
|
||||
# Lampa.Storage.set('parser_torrent_type', 'jackett')
|
||||
# Lampa.Storage.set('parser_use', 'true')
|
||||
```
|
||||
|
||||
`jackett_url` указывает **на сам Lampac**, а не на сторонний сервис. Проверка API:
|
||||
|
||||
```bash
|
||||
# ⚠️ работает БЕЗ префикса /jackett — на корне
|
||||
curl -s "http://192.168.1.14:9118/api/v2.0/indexers/all/results?apikey=1&Query=matrix"
|
||||
# → 200, реальные результаты: rutor, магнит-ссылки, Size, Seeders, ffprobe
|
||||
|
||||
curl -s -o /dev/null -w "%{http_code}" "http://192.168.1.14:9118/jackett/api/v2.0/..." # → 404
|
||||
curl -s -o /dev/null -w "%{http_code}" "http://192.168.1.14:9118/api/v2.0/..." # → 200 ✅
|
||||
```
|
||||
|
||||
**Вывод:** поиск торрентов работает штатно, ничего поднимать не надо.
|
||||
|
||||
### Кто качает на диск — полный реестр (единственные виновники)
|
||||
|
||||
```bash
|
||||
ssh kraken 'docker ps --format "{{.Names}}\t{{.Image}}"'
|
||||
```
|
||||
|
||||
| Сервис | Качает? | Замер | Нужен для задачи? |
|
||||
|---|---|---|---|
|
||||
| **Radarr** | ✅ да | 50 фильмов, **45 monitored**, очередь **6**, RSS 30 мин | ❌ мешает |
|
||||
| **Sonarr** | ✅ да | 13 сериалов, **13 monitored**, очередь **19** | ❌ мешает |
|
||||
| **Transmission** | ⚠️ исполнитель | **257** `.torrent`, CPU 0.76% (простаивает), NetIO 290G/26.7G | ⚠️ движок Radarr/Sonarr |
|
||||
| **TorrServer** | ❌ НЕТ | `UseDisk: false`, список торрентов `[]` | ✅ **вот чем играет Lampa** |
|
||||
|
||||
Полный список контейнеров Кра́кена:
|
||||
`lampac · radarr · jellyfin · transmission · portainer · flaresolverr ·
|
||||
prowlarr · sonarr · watchtower · rclone · xray-reverse-bridge · hermes-kraken · cloudflared`
|
||||
|
||||
**Sonarr API** (для будущей работы, по аналогии с Radarr):
|
||||
|
||||
```bash
|
||||
# ключ: /srv/.../docker/sonarr/config/config.xml → 15fbec32f1cb4b05b1c2b229ce27359b
|
||||
curl -sL "http://localhost:8989/api/v3/series?apikey=$SONARR_KEY" | jq 'length' # → 13
|
||||
curl -sL "http://localhost:8989/api/v3/queue?apikey=$SONARR_KEY" | jq '.totalRecords' # → 19
|
||||
```
|
||||
|
||||
⚠️ Sonarr — **тоже источник автоскачки**, не только Radarr. Alex упомянул его не зря.
|
||||
Отключать надо оба, иначе Sonarr продолжит качать сериалы.
|
||||
|
||||
### Transmission — настройки (замер)
|
||||
|
||||
```bash
|
||||
ssh kraken 'docker exec transmission cat /config/settings.json' > /tmp/trans-settings.json
|
||||
```
|
||||
|
||||
```json
|
||||
{"download-dir": "/downloads", "rpc-port": 9091,
|
||||
"speed-limit-down-enabled": false, "peer-port": 51413,
|
||||
"alt-speed-enabled": false}
|
||||
```
|
||||
|
||||
`/config/torrents/*.torrent` = **257 файлов** — это накопленный список раздач,
|
||||
**не признак активной качки** (CPU 0.76%). Файлы на диске не трогаем.
|
||||
|
||||
### Кто чем играет в Lampa (подтверждено)
|
||||
|
||||
```bash
|
||||
curl -s "http://192.168.1.14:9118/lampainit.js" | grep -iE "torrents_use|source"
|
||||
# lampa_settings.torrents_use = true ← кнопка торрентов включена
|
||||
# Lampa.Storage.set('source', 'cub') ← CUB — основной источник ✅
|
||||
# Lampa.Storage.set('proxy_tmdb', 'true')
|
||||
```
|
||||
|
||||
В `plugins_add` (серверные плагины Lampac, не список Lampa):
|
||||
`tmdbproxy.js · cubproxy.js · online.js · catalog.js · sisi.js · startpage.js ·
|
||||
timecode.js · ts.js` — все `status: 1`.
|
||||
|
||||
### Итоговая схема (что получится после переделки)
|
||||
|
||||
```
|
||||
ТВ: Lampa (com.lampac.tv)
|
||||
├── источник CUB ── онлайн, работает как раньше ✅
|
||||
└── источник «Мой список» ── секции СВЕРХУ, постеры из Radarr
|
||||
│
|
||||
▼ клик по фильму
|
||||
поиск торрента через Lampac (Jackett-API на :9118)
|
||||
│
|
||||
▼
|
||||
TorrServer (UseDisk: false) → RAM-кэш 96 МБ → на HDD НЕ ПИШЕТ ✅
|
||||
|
||||
Radarr/Sonarr после переделки = ЧИСТЫЙ СПРАВОЧНИК МЕТАДАННЫХ
|
||||
(monitored: false + rssSyncInterval: 0) — не ищут, не качают
|
||||
```
|
||||
|
||||
### ⚠️ Порядок работ (обновлён с учётом Sonarr)
|
||||
|
||||
| # | Действие | Сервис | Статус |
|
||||
|---|---|---|---|
|
||||
| 0 | Бэкап `radarr.db` + `config.xml` (+ то же для Sonarr) | оба | ⏳ |
|
||||
| 1 | Отменить очередь: 6 записей Radarr + **19 Sonarr** | оба | ⏳ |
|
||||
| 2 | `monitored: false` — 45 Radarr + **13 Sonarr** | оба | ⏳ |
|
||||
| 3 | `rssSyncInterval: 0` | оба | ⏳ |
|
||||
| 4 | Проверка: monitored 0, очередь 0, RSS 0, Transmission тих | оба | ⏳ |
|
||||
| 5 | Генератор каталога → данные из **Radarr API** (TMDB ID + постер) | — | ⏳ |
|
||||
| 6 | В `sites/watchlist.yaml` убрать `menu`, оставить `main` | — | ⏳ |
|
||||
| 7 | Фикс `plugin.js` (`enumerable:true`) | — | ⏳ |
|
||||
| 8 | Добавление 310 фильмов из `.md` в Radarr с `monitored: false` | Radarr | ⏳ |
|
||||
|
||||
**Не трогаем:** Prowlarr, Transmission, 24 файла на диске, Jellyfin, остальные контейнеры.
|
||||
|
||||
### ❓ Открытый вопрос к Alex
|
||||
|
||||
Radarr/Sonarr нужны **как справочник** (тогда постеры сохраняются) или
|
||||
**выключаются совсем** (тогда каталог Lampa теряет постеры — их брать неоткуда)?
|
||||
Ответа нет.
|
||||
|
||||
### План работ (на апруве Alex)
|
||||
|
||||
**Шаг 0 — бэкап (обязательно, до всего)**
|
||||
```bash
|
||||
ssh kraken 'cp /srv/.../docker/radarr/config/radarr.db /srv/.../radarr.db.bak-$(date +%Y%m%d-%H%M%S)'
|
||||
ssh kraken 'cp /srv/.../docker/radarr/config/config.xml /srv/.../config.xml.bak-$(date +%Y%m%d-%H%M%S)'
|
||||
```
|
||||
Причина: `radarr.db` — боевая база, содержит всю библиотеку.
|
||||
|
||||
**Шаг 1 — отменить текущие загрузки (6 шт)**
|
||||
```bash
|
||||
curl -sL -X DELETE "http://localhost:7878/api/v3/queue/<id>?removeFromClient=true&blocklist=false&apikey=$KEY"
|
||||
```
|
||||
⚠️ **Не** использовать `blocklist=true` — иначе релизы попадут в чёрный список и
|
||||
не найдутся при ручной загрузке. Файлы на диске **не трогаются**.
|
||||
|
||||
**Шаг 2 — снять `monitored` со всех фильмов**
|
||||
```bash
|
||||
curl -sL -X PUT "http://localhost:7878/api/v3/movie/editor?apikey=$KEY" \
|
||||
-H "Content-Type: application/json" \
|
||||
-d '{"movieIds":[<все 50>],"monitored":false}'
|
||||
```
|
||||
Результат: Radarr не ищет и не качает. Фильмы в базе с метаданными остаются.
|
||||
|
||||
**Шаг 3 — выключить авто-поиск по RSS**
|
||||
```bash
|
||||
curl -sL -X PUT "http://localhost:7878/api/v3/config/indexer?apikey=$KEY" \
|
||||
-H "Content-Type: application/json" \
|
||||
-d '{"rssSyncInterval":0,"id":1, ...остальные поля как есть}'
|
||||
```
|
||||
0 = Radarr не ходит в RSS. Ничего не находит сам.
|
||||
|
||||
**Шаг 4 — проверить**
|
||||
```bash
|
||||
jq '[.[] | select(.monitored==true)] | length' # → 0
|
||||
jq '.rssSyncInterval' # → 0
|
||||
jq '.totalRecords' # очередь → 0
|
||||
```
|
||||
|
||||
**Что НЕ трогаем:** Prowlarr, Transmission, библиотеку на диске (24 файла), Sonarr
|
||||
(отдельная проверка ниже).
|
||||
|
||||
### ⚠️ Незакрытые вопросы к плану
|
||||
|
||||
1. **Sonarr** — Alex упомянул его вместе с Radarr. Проверить его настройки отдельно
|
||||
(сериалы в списке есть?). Это отдельная задача. **Вопрос задан Alex, ответа нет.**
|
||||
2. **Ручная загрузка после отключения** — если Alex захочет скачать фильм вручную,
|
||||
нужно временно включить `monitored` или искать вручную через Interactive Search.
|
||||
Работает, но не автоматически.
|
||||
3. **310 фильмов, которых нет в Radarr** — скрипт будет добавлять их с `monitored: false`,
|
||||
Radarr сам подтянет постеры из TMDB. Но часть названий найдётся криво («девять»).
|
||||
|
||||
### ✅ Подтверждено Alex 2026-09-22 (семантика задачи — не переспрашивать)
|
||||
|
||||
Alex сам сформулировал схему и подтвердил её понимание ассистентом:
|
||||
|
||||
> «При этом фильмы не будут скачиваться на hdd я правильно понимаю?! Играть будет
|
||||
> через torrserver так?» → ответ: **да, правильно**.
|
||||
|
||||
**Разделение обязанностей (запомнить, чтобы не путать):**
|
||||
|
||||
| Слой | Роль | Куда пишет |
|
||||
|---|---|---|
|
||||
| **Radarr/Sonarr + Transmission** | библиотека, автоскачка релизов | на HDD (библиотека) |
|
||||
| **Lampac TorrServer** | стриминг по требованию из UI Lampa | **ничего не сохраняет** — только временный кэш кусков |
|
||||
| **«Мой список» (Catalog)** | только показ секций с постерами | ничего не качает |
|
||||
|
||||
То есть после выключения автоскачки в Radarr: **фильмы, которые Alex смотрит через Lampa,
|
||||
на HDD не попадают вообще** — TorrServer отдаёт поток и выбрасывает буфер. Файлы на диске
|
||||
остаются только у 24 уже скачанных (нужны Jellyfin).
|
||||
|
||||
⚠️ **`transmission` НЕ связан с Lampa.** Radarr качает через него релизы в свою библиотеку —
|
||||
это отдельный контур. Вопрос «через что играет TorrServer» и «что качает Radarr» —
|
||||
**разные вещи**, не смешивать в объяснениях.
|
||||
|
||||
### 🔴 Правка `plugin.js` (`enumerable:true`) — всё ещё НЕ применена
|
||||
|
||||
Независимая от ПЕРЕДЕЛКИ 2 правка. Файл лежит локально `/tmp/catalog-plugin.js`
|
||||
(10738 байт, `node --check` чистый, 2 вхождения исправлены), бэкап
|
||||
`/tmp/catalog-plugin.js.bak-20260922-121452`. На Кра́кене и в образе — **оригинал**.
|
||||
Нужен volume `./catalog/plugin.js:/lampac/module/Catalog/plugin.js:ro` в compose.
|
||||
Подробности — раздел «🔴 ГЛАВНЫЙ ПИТФОЛЛ» выше.
|
||||
|
||||
**Порядок:** правку `plugin.js` имеет смысл применять **вместе с ПЕРЕДЕЛКОЙ 2**,
|
||||
чтобы не пересоздавать контейнер дважды.
|
||||
|
||||
### Откат
|
||||
|
||||
```bash
|
||||
# вернуть monitored (одним запросом)
|
||||
curl -sL -X PUT ".../api/v3/movie/editor" -d '{"movieIds":[...],"monitored":true}'
|
||||
# вернуть RSS
|
||||
curl -sL -X PUT ".../api/v3/config/indexer" -d '{"rssSyncInterval":30,"id":1}'
|
||||
# восстановить базу при необходимости
|
||||
cp radarr.db.bak-<дата> radarr.db && docker restart radarr
|
||||
```
|
||||
|
||||
**Статус: план на апруве. Ничего не выполнено.**
|
||||
|
||||
## Открытые вопросы — БЛОКИРУЮЩИЕ (2026-09-22, ждут решения Alex)
|
||||
|
||||
1. **Что делать с 310 фильмами, которых нет в Radarr?**
|
||||
|
||||
Reference in new issue
Block a user