[2026-09-24] eagle: personal/plans/lampac-watched-to-watchlist.md

This commit is contained in:
Alexey Martemyanov committed 2026-09-24 13:45:10 +06:00
1 parent 55f491b9ef
commit 64c36cdccd
1 file changed
+22
@@ -277,6 +277,28 @@ timecodes.identity ('movie-674' / '674_movie' — строгие формы, и
- **Fix (ждёт команды Alex):** bind-mount `database/` + строка бэкапа в
nightly. До bind-mount КАЖДОЕ автообновление lampac сносит историю.
### ✅ FIX ВЫПОЛНЕН 2026-09-24 13:38–13:50 (по команде «чини»)
| Что | Детали |
|---|---|
| bind-mount | `./database:/lampac/database` в `/srv/dev-disk-by-uuid-6194539b-.../lampac/docker-compose.yml`; каталог создан `install -d -o 1000 -g 1000` (uid лампака = 1000 = kraken на хосте). Бэкап compose: `docker-compose.yml.bak-dbmount-20260924-1100`. Контейнер пересоздан `docker compose up -d lampac` |
| Проверка | mount в inspect ✓, `TimeCode.sql`+WAL создались **на хосте** ✓, `loaded module: TimeCode` ✓, HTTP :9118 → 200 ✓ |
| Бэкап в nightly | Блок ПЕРЕД sync-from-lampac: `sqlite3 <host>/TimeCode.sql ".backup ~/backup/timecode/TimeCode-$(date +%F).sql"` + retention 30 дней. md5 нового `~/scripts/watchlist-nightly.sh` = `afabbb82f1234496521083ebd7b19eaf`. Прогон вручную ✓ (снапшот 24КБ со схемой) |
| `.env` | `LAMPAC_TIMECODE_DB` → хост-путь `/srv/.../lampac/database/TimeCode.sql` (модуль читает напрямую, без docker cp). Бэкап `.env.bak-dbmount-20260924`. Dry-run модуля ✓ (0 записей — ожидаемо, БД свежая) |
| Репо | коммит `4266e37` (устаревший комментарий «БД НЕ bind-mounted»), запушен, на Кракене fast-forward ✓ |
**🔴 Грабля №18 (новая, найдена при фиксе): SQLite WAL.** БД TimeCode живёт
в WAL-режиме: свежие данные — в `TimeCode.sql-wal`, главный `.sql` может
быть пустой оболочкой (проверено: `docker cp` одного файла → `no such
table`). Голый `cp`/`docker cp` одного `.sql` — НЕ бэкап. Чтение — только
(а) напрямую из каталога со всеми тремя файлами (main+wal+shm — теперь так
делает модуль через хост-путь), (б) `sqlite3 X ".backup Y"` — консистентный
однофайловый снапшот (так делает nightly).
**Восстановление «Мастерской Сатаны» [x]:** записи больше нет; канал
проставит галку сам при повторной отметке — открыть фильм в Lampa и
перемотать на финальные титры (порог percent>=90 заодно откалибруется).
### Осталось (не блокирует работу канала)
- ⏳ **Калибровка порога**: досмотреть фильм из вотчлиста в Lampa → вычитать