[2026-09-22] eagle: family/how-to/gitea-config.md personal/plans/watchlist-tmdb-missing-marker.md personal/tech/lampac-deployment.md
This commit is contained in:
1 parent
42ac730a46
commit
e3618d5001
3 files changed
+243
-15
No files matched your search
@@ -58,6 +58,42 @@ related:
|
||||
**`plugin-cub.js`** (результат), `deploy_cub.py`, `tv_restart.sh`, `restart_lampa.sh`,
|
||||
**`probe_*.py`** (CDP-пробы рантайма Lampa на ТВ).
|
||||
|
||||
## 📦 Репозиторий скриптов: `git_admin/lampac-scripts` (2026-09-22)
|
||||
|
||||
`~/lampac-tmp/` — **НЕ git-репо** (свалка одноразовых пробников, 50+ файлов).
|
||||
Прод-генератор жил там без версионирования — ошибка, исправлено.
|
||||
|
||||
**Репозиторий:** `/Users/admin/Developer/lampac-scripts/` (gitea, private)
|
||||
**Remote (ЧИСТЫЙ URL, токен не в URL):** `https://git.mallexxx.duckdns.org/git_admin/lampac-scripts.git`
|
||||
Токен — в `~/.git-credentials` (600). Питфолл №1 из [[family/how-to/gitea-config.md]].
|
||||
|
||||
```
|
||||
/Users/admin/Developer/lampac-scripts/
|
||||
├── scripts/gen_watchlist.py (из gen_watchlist_v2.py — ПРОД-генератор)
|
||||
├── scripts/deploy_lampac.py
|
||||
├── scripts/mark_missing.py (в прод НЕ ставить — см. план, Шаг 1.3)
|
||||
└── tests/accept_step1.py, tests/accept_step1_order.py
|
||||
```
|
||||
|
||||
Создание репо через API — `~/lampac-tmp/create_gitea_repo.py` (Python, а не bash:
|
||||
подстановка `$( … | sed … )` вырезается фильтром безопасности — питфолл №2 из
|
||||
[[family/how-to/gitea-config.md]]).
|
||||
|
||||
## 🔄 Ночной крон на Кра́кене — что делает автоматика
|
||||
|
||||
`~/scripts/watchlist-nightly.sh`, cron **01:00**:
|
||||
```
|
||||
sync-vault (pull) → process-thumbs --apply → resolve --recheck --apply
|
||||
→ sync-down --apply --batch 2 → sync-up --apply → sync-vault (push)
|
||||
```
|
||||
|
||||
`~/scripts/watchlist-catalog.sh`, cron **30 2 * * *** — генерация JSON + рестарт lampac.
|
||||
`~/scripts/watchlist-cleanup.sh`, cron **0 2 * * *** — сносит просмотренное при заполнении диска.
|
||||
|
||||
🔴 **`resolve --recheck --apply` снимает маркер сам**, когда фильм находится.
|
||||
Это работа резолвера `watchlist_sync/resolver.py` — НЕ генератора каталога и НЕ ручная.
|
||||
`resolve` **пропускает** позиции с `❓`/`🗓️` (флаг `ambiguous` в `WatchItem`, `parser.py`).
|
||||
|
||||
🔴 **Права на файлы в `wwwroot/` — владелец `1000:1000` (= пользователь `lampac`
|
||||
в контейнере), каталоги `755`, файлы `644`.** Не `kraken:kraken` — контейнер ходит
|
||||
не под хост-пользователем. Если файл окажется `root:root 600`, dotnet ответит
|
||||
|
||||
Reference in new issue
Block a user