Failed to authenticate. API Error: 401 Invalid authentication credentials
[2026-05-20] vault sync
This commit is contained in:
@@ -0,0 +1,69 @@
|
|||||||
|
---
|
||||||
|
date: 2026-05-20
|
||||||
|
status: complete
|
||||||
|
---
|
||||||
|
# Wiki Curation — 2026-05-20
|
||||||
|
|
||||||
|
## Done
|
||||||
|
|
||||||
|
- **Conflict scan:** No git conflict markers found across ~/obsidian/ ✅
|
||||||
|
- **Previous run (2026-05-19):** Status = complete, no Unfinished — nothing to resume
|
||||||
|
- **Orientation:** Read SCHEMA.md (21 pages in table), index.md (27 pages), log.md (last 50 lines)
|
||||||
|
- **Change detection since 2026-05-19 02:00:**
|
||||||
|
- `wiki/tech/arr-stack-kraken.md` — NEW page with **frontmatter corruption** (duplicate block embedded in body from likely Obsidian sync collision) → fixed ✅
|
||||||
|
- `wiki/tech/htpc-kodi-layout.md` — NEW page missing namespace/dates → fixed ✅
|
||||||
|
- `family/how-to/switch-emulation-rom-infra.md` — Ryujinx 1.3.3 setup, qBittorrent 5.2.0, Jackett Docker config, ROM flow research → crystallized to `tech/htpc-steam-emulators.md`
|
||||||
|
- `family/projects/watchlist-discover.md` — NEW: discover cron details, filter thresholds, KP API endpoint → incorporated into `kraken-media-stack` + synthesis page
|
||||||
|
- `family/projects/media-toolbox-kraken.md` — router.py details, Jellyfin library structure (2026-05-18 session 16) → updated `kraken-media-stack`
|
||||||
|
- `personal/projects/psychologist-app/` — product/marketing work: not wiki domain, skipped
|
||||||
|
- `personal/psychology/` — personal content: not wiki domain
|
||||||
|
- **Inbox:** `raw/inbox/` empty ✅
|
||||||
|
- **Sessions (2026-05-20):** 6 sessions checked. 2 wiki-relevant (watchlist-discover creation, scheduled flow discussion). Knowledge crystallized from family/ files; session content itself is operational/personal
|
||||||
|
- **Corruption fix:** `tech/arr-stack-kraken.md` — duplicate frontmatter embedded mid-body (`.json---\ntitle:...---`). Synthesized correct Pitfall text (OMV `.json$` regex), removed corruption, added namespace/confidence fields
|
||||||
|
- **Pages created (1):**
|
||||||
|
- `wiki/concepts/watchlist-automation.md` — synthesis: full watchlist→Jellyfin automation flow (discover→thumbs→sync-down→*arr→router→Jellyfin); covers cron IDs, indexer config, router logic, open tasks
|
||||||
|
- **Pages updated (11):**
|
||||||
|
- `tech/htpc-steam-emulators.md` — major expansion: Ryujinx Switch section, prod.keys sources, DKC compatibility, qBittorrent API, Jackett Docker + ROM search flow; added See Also with 3 wikilinks
|
||||||
|
- `tech/arr-stack-kraken.md` — corruption fixed; namespace/confidence frontmatter added
|
||||||
|
- `tech/htpc-kodi-layout.md` — namespace/dates/confidence frontmatter added
|
||||||
|
- `tech/media-pipeline-pitfalls.md` — namespace frontmatter added
|
||||||
|
- `tech/kraken-network.md` — namespace frontmatter added
|
||||||
|
- `tech/vault-namespace.md` — namespace frontmatter added
|
||||||
|
- `concepts/kraken-media-stack.md` — Watchlist Automation section updated (discover cron, cron IDs); added Router Script section + Jellyfin library table (2026-05-20); added See Also with 4 wikilinks
|
||||||
|
- `concepts/vault-strategy.md` — added 2 See Also wikilinks (knowledge-lifecycle, vault-namespace)
|
||||||
|
- `entities/library-app.md` — added truenas-inpxer wikilink in See Also
|
||||||
|
- `personal-os-architecture.md` — added See Also section (executor-orchestrator, user-profile, kraken-media-stack, agent-rules)
|
||||||
|
- `wiki/index.md` — added 4 new entries (arr-stack-kraken, htpc-kodi-layout, watchlist-automation, updated htpc-steam-emulators summary); bumped to 31 pages, 2026-05-20
|
||||||
|
- **Synthesis task:** `concepts/watchlist-automation.md` — synthesizes 4+ co-occurring pages (arr-stack-kraken, kraken-media-stack, hermes-docker-kraken, watchlist-discover)
|
||||||
|
- **Orphan fixes (5 resolved):**
|
||||||
|
- `executor-orchestrator` ← personal-os-architecture See Also
|
||||||
|
- `watchlist-automation` ← kraken-media-stack See Also
|
||||||
|
- `knowledge-lifecycle` ← vault-strategy See Also
|
||||||
|
- `truenas-inpxer` ← library-app See Also
|
||||||
|
- `vault-namespace` ← vault-strategy See Also
|
||||||
|
- **Remaining orphan:** `user-profile` — linked from personal-os-architecture now, may still show as orphan depending on link scan direction; low priority
|
||||||
|
- **Lint (31 pages):** 5 missing namespace fields fixed; 5 orphans resolved via new inbound links; no broken wikilinks; no pages over 200 lines; no log rotation needed
|
||||||
|
|
||||||
|
## Validation fixes
|
||||||
|
|
||||||
|
- none (all 12 modified files passed clean on final check)
|
||||||
|
|
||||||
|
## Unresolved conflicts
|
||||||
|
|
||||||
|
(none)
|
||||||
|
|
||||||
|
## Unfinished
|
||||||
|
|
||||||
|
(none)
|
||||||
|
|
||||||
|
## Stats
|
||||||
|
|
||||||
|
- Conflicts resolved: 0 (no git conflicts found)
|
||||||
|
- Corruption fixes: 1 (arr-stack-kraken duplicate frontmatter)
|
||||||
|
- Inbox processed: 0 (empty)
|
||||||
|
- Sessions crystallized: 0 / 6 checked (knowledge from family/ files, not session text)
|
||||||
|
- Synthesis pages created: 1 (concepts/watchlist-automation)
|
||||||
|
- Pages created: 1 (watchlist-automation)
|
||||||
|
- Pages updated: 11 (htpc-steam-emulators, arr-stack-kraken, htpc-kodi-layout, media-pipeline-pitfalls, kraken-network, vault-namespace, kraken-media-stack, vault-strategy, library-app, personal-os-architecture, index)
|
||||||
|
- Lint issues: 5 namespace fields + 5 orphans = 10 fixed, 1 orphan remaining (user-profile — low priority)
|
||||||
|
- Validation issues fixed: 0
|
||||||
@@ -1,14 +1,16 @@
|
|||||||
---
|
---
|
||||||
title: Kraken Media Server — Full Stack
|
title: Kraken Media Server — Full Stack
|
||||||
|
namespace: work
|
||||||
created: '2026-05-18'
|
created: '2026-05-18'
|
||||||
updated: '2026-05-19'
|
updated: '2026-05-20'
|
||||||
|
last_synced: '2026-05-20'
|
||||||
type: concept
|
type: concept
|
||||||
tags:
|
tags:
|
||||||
- kraken
|
- kraken
|
||||||
- media-pipeline
|
- media-pipeline
|
||||||
- infra
|
- infra
|
||||||
- synthesis
|
- synthesis
|
||||||
confidence: high
|
confidence: 0.9
|
||||||
---
|
---
|
||||||
# Kraken Media Server — Full Stack
|
# Kraken Media Server — Full Stack
|
||||||
|
|
||||||
@@ -72,20 +74,59 @@ Prowlarr (RuTracker) → Radarr (7878) / Sonarr (8989)
|
|||||||
- ⏳ Трекер-парсеры (Steps D-F): audio/non-video scanner, fixture тесты для rutor/nnm-club
|
- ⏳ Трекер-парсеры (Steps D-F): audio/non-video scanner, fixture тесты для rutor/nnm-club
|
||||||
- ⏳ Transmission torrent-fix: 271/293 файлов без привязки после pipeline apply
|
- ⏳ Transmission torrent-fix: 271/293 файлов без привязки после pipeline apply
|
||||||
|
|
||||||
## Watchlist Sync (в разработке, 2026-05-19)
|
## Watchlist Automation (обновлено 2026-05-20)
|
||||||
|
|
||||||
Python-сервис `~/Developer/watchlist-sync` для автоматической синхронизации `family/documents/movies-watchlist.md` с Radarr/Sonarr/Jellyfin:
|
Два cron-job'а на Eagle — автоматическое пополнение очереди просмотра:
|
||||||
- **parse** → `[ ]`/`[x]`/`❓`/`⬇️` статусы из .md
|
|
||||||
|
| Job | Расписание | Действие |
|
||||||
|
|-----|----------|---------|
|
||||||
|
| `watchlist-resolve` (`16438138c8c5`) | ежедн. 09:00 | SSH на Кракен → `watchlist-sync resolve` → commit |
|
||||||
|
| `watchlist-sync-down` (`7d12b6d48786`) | ежедн. 10:00 | `process-thumbs --apply` → `sync-down --apply` → добавить в Radarr/Sonarr |
|
||||||
|
| `watchlist-discover` (`6aba6979b8c4`) | вс 09:00 | KP API топ новинок → добавить в секцию "Новинки 👍/👎" |
|
||||||
|
|
||||||
|
Python-сервис `~/Developer/watchlist-sync`:
|
||||||
|
- **parse** → `[ ]`/`[x]`/`👍`/`👎` статусы из .md
|
||||||
- **resolve** → TMDB + KP API → ID + тип (movie/tv)
|
- **resolve** → TMDB + KP API → ID + тип (movie/tv)
|
||||||
- **sync-down** → добавить в Radarr/Sonarr батчами по 5
|
- **discover** → KP API топ фильмов 2024-2025 (IMDb≥7.0 или KP≥7.0) → секция "Новинки"
|
||||||
|
- **sync-down** → добавить `👍` в Radarr/Sonarr батчами по 5
|
||||||
- **sync-up** → Jellyfin watched history → `[x]` в .md
|
- **sync-up** → Jellyfin watched history → `[x]` в .md
|
||||||
- **AI curation** → Hermes Kraken cron, disambiguation ❓ → Zulip `#personal::Kraken torrents`
|
|
||||||
|
|
||||||
Stage 2 (после 50+ просмотров): персонализированные рекомендации по профилю (3 списка: вдвоём / один / семейное).
|
## Router Script — Жанровая маршрутизация
|
||||||
|
|
||||||
|
`router.py` — запускается из Sonarr/Radarr Custom Script при импорте. Читает жанры из NFO (или TMDb API) и создаёт symlink в нужную тематическую библиотеку Jellyfin:
|
||||||
|
|
||||||
|
```
|
||||||
|
movies-radarr/ → Animation + !R/18+ → /media/cartoons/
|
||||||
|
movies-radarr/ → Documentary → /media/documentaries/
|
||||||
|
movies-radarr/ → прочее → /media/movies/
|
||||||
|
series-sonarr/ → аналогично для series/cartoons-series/documentaries-series/
|
||||||
|
```
|
||||||
|
|
||||||
|
Запуск: `python3 /srv/.../docker/media-pipeline/router.py [--apply]`
|
||||||
|
|
||||||
|
## Jellyfin библиотеки (актуально 2026-05-20)
|
||||||
|
|
||||||
|
| Библиотека | Тип | Пути |
|
||||||
|
|---|---|---|
|
||||||
|
| Movies | movies | `/media/movies` |
|
||||||
|
| Series | tvshows | `/media/series` |
|
||||||
|
| Cartoons | movies | `/media/cartoons` |
|
||||||
|
| Cartoon Series | tvshows | `/media/cartoons-series` |
|
||||||
|
| Documentaries | movies | `/media/documentaries` |
|
||||||
|
| Documentary Series | tvshows | `/media/documentaries-series` |
|
||||||
|
|
||||||
|
`movies-radarr` и `series-sonarr` НЕ в библиотеках Jellyfin — router script создаёт symlinks.
|
||||||
|
|
||||||
|
|
||||||
## Агент-доступ
|
|
||||||
|
|
||||||
Kraken-Hermes в контейнере (`hermes-kraken`) доступен через Zulip. Скачать медиа:
|
Kraken-Hermes в контейнере (`hermes-kraken`) доступен через Zulip. Скачать медиа:
|
||||||
- Сериал → Sonarr API → Transmission
|
- Сериал → Sonarr API → Transmission
|
||||||
- Фильм → Radarr API → Transmission
|
- Фильм → Radarr API → Transmission
|
||||||
- Только через curl (python3 запрещён в скилле)
|
- Только через curl (python3 запрещён в скилле)
|
||||||
|
|
||||||
|
## See Also
|
||||||
|
|
||||||
|
- [[concepts/watchlist-automation]] — полный flow watchlist → Radarr/Sonarr → Jellyfin
|
||||||
|
- [[tech/arr-stack-kraken]] — *arr stack pitfalls: nginx, DNS, grab limits
|
||||||
|
- [[tech/jellyfin-transcode-rpi5]] — Jellyfin PGS/ASS subtitle pitfalls on RPi5
|
||||||
|
- [[tech/hermes-docker-kraken]] — Hermes Docker на Кракене
|
||||||
|
|||||||
@@ -57,3 +57,5 @@ sources:
|
|||||||
- [[wiki-ingest-process]] — как wiki-curation работает
|
- [[wiki-ingest-process]] — как wiki-curation работает
|
||||||
- [[personal-os-architecture]] — полная картина системы
|
- [[personal-os-architecture]] — полная картина системы
|
||||||
- [[concepts/agent-memory-architecture]] — память агента (семантический уровень)
|
- [[concepts/agent-memory-architecture]] — память агента (семантический уровень)
|
||||||
|
- [[concepts/knowledge-lifecycle]] — как знания кристаллизируются из сессий в wiki
|
||||||
|
- [[tech/vault-namespace]] — правила namespace: work/personal/family
|
||||||
|
|||||||
@@ -0,0 +1,105 @@
|
|||||||
|
---
|
||||||
|
title: Watchlist Automation — Полный Flow
|
||||||
|
namespace: personal
|
||||||
|
created: '2026-05-20'
|
||||||
|
updated: '2026-05-20'
|
||||||
|
last_synced: '2026-05-20'
|
||||||
|
type: concept
|
||||||
|
tags:
|
||||||
|
- kraken
|
||||||
|
- watchlist
|
||||||
|
- automation
|
||||||
|
- synthesis
|
||||||
|
confidence: 0.9
|
||||||
|
---
|
||||||
|
# Watchlist Automation — Полный Flow
|
||||||
|
|
||||||
|
Синтез: как `family/documents/movies-watchlist.md` превращается в скачанный контент. Объединяет [[tech/arr-stack-kraken]], [[concepts/kraken-media-stack]], [[tech/hermes-docker-kraken]].
|
||||||
|
|
||||||
|
## Полная цепочка
|
||||||
|
|
||||||
|
```
|
||||||
|
[вс 09:00] watchlist-discover ← KP API топ фильмов 2024-2025
|
||||||
|
↓ добавляет в секцию "Новинки 👍/👎"
|
||||||
|
movies-watchlist.md
|
||||||
|
Alex ставит 👍 / 👎
|
||||||
|
↓
|
||||||
|
[ежедн 09:00] watchlist-resolve ← SSH Кракен → resolve → commit
|
||||||
|
[ежедн 10:00] watchlist-sync-down
|
||||||
|
→ process-thumbs (перемещает 👍 → начало списка)
|
||||||
|
→ sync-down (добавляет батч в Radarr/Sonarr)
|
||||||
|
↓
|
||||||
|
Radarr (7878) / Sonarr (8989)
|
||||||
|
→ Prowlarr (9696) → RuTracker / Kinozal(M) / NoNaMe / etc.
|
||||||
|
→ Transmission (9091)
|
||||||
|
→ /media/movies-radarr или /media/series-sonarr
|
||||||
|
↓
|
||||||
|
router.py (Custom Script) → читает жанры из NFO/TMDb
|
||||||
|
→ symlink в /media/{movies,cartoons,documentaries,...}/
|
||||||
|
↓
|
||||||
|
Jellyfin (8096) → rescan → виден контент
|
||||||
|
```
|
||||||
|
|
||||||
|
## Статусы в movies-watchlist.md
|
||||||
|
|
||||||
|
| Символ | Значение | Действие |
|
||||||
|
|--------|---------|---------|
|
||||||
|
| `[ ]` | не смотрел, в очереди | sync-down добавляет в Radarr/Sonarr |
|
||||||
|
| `[x]` | просмотрено | sync-up из Jellyfin watched history |
|
||||||
|
| `👍` | нравится (новинка) | process-thumbs переносит в начало → попадёт в sync-down |
|
||||||
|
| `👎` | не хочу (новинка) | process-thumbs перемещает в "Новинки 👎" |
|
||||||
|
| `🗓️` | upcoming (ещё не вышел) | discover помечает, не скачивается |
|
||||||
|
|
||||||
|
## Cron Jobs на Eagle
|
||||||
|
|
||||||
|
| Job | ID | Расписание |
|
||||||
|
|-----|-----|-----------|
|
||||||
|
| `watchlist-discover` | `6aba6979b8c4` | вс 09:00 |
|
||||||
|
| `watchlist-resolve` | `16438138c8c5` | ежедн. 09:00 |
|
||||||
|
| `watchlist-sync-down` | `7d12b6d48786` | ежедн. 10:00 |
|
||||||
|
|
||||||
|
## Discover — Фильтрация
|
||||||
|
|
||||||
|
| Тип | Порог |
|
||||||
|
|-----|-------|
|
||||||
|
| Мировые | IMDb ≥ 7.0 или KP ≥ 7.0 |
|
||||||
|
| Российские | KP ≥ 8.5 (защита от накрутки) |
|
||||||
|
| Upcoming | год ≥ текущий−1 |
|
||||||
|
| Минимум голосов | IMDb ≥ 1000 или KP ≥ 500 |
|
||||||
|
|
||||||
|
KP API endpoint: `https://api.poiskkino.dev/v1.4/movie` (redirect с api.kinopoisk.dev).
|
||||||
|
|
||||||
|
## *arr Stack — Индексеры (Prowlarr)
|
||||||
|
|
||||||
|
| ID | Имя | Тип | Примечание |
|
||||||
|
|----|-----|-----|-----------|
|
||||||
|
| 1 | RuTracker | semi-private | блокирует при rate limit на сутки |
|
||||||
|
| 2 | RuTor | public | поиск по imdbid |
|
||||||
|
| 3 | Byrutor | public | |
|
||||||
|
| 4 | NoNaMe Club | semi-private | анонимный |
|
||||||
|
| 5 | Kinozal | semi-private | резерв |
|
||||||
|
| 6 | Kinozal (M) | semi-private | магнет ✅ — без grab limit, **предпочтительный** |
|
||||||
|
|
||||||
|
**Pi-hole pitfall:** блокирует `skyhook.sonarr.tv` → Sonarr/Radarr поиск молча не запускается. Фикс: `dns: [8.8.8.8]` в docker-compose.yml.
|
||||||
|
|
||||||
|
## Router Script — Маршрутизация по жанру
|
||||||
|
|
||||||
|
После импорта Sonarr/Radarr: `router.py --apply` создаёт symlinks:
|
||||||
|
- Animation (не R/18+) → `/media/cartoons/` или `/media/cartoons-series/`
|
||||||
|
- Documentary → `/media/documentaries/` или `/media/documentaries-series/`
|
||||||
|
- Прочее → `/media/movies/` или `/media/series/`
|
||||||
|
|
||||||
|
Kopirует NFO + постер рядом с symlink (Jellyfin не видит метадату через symlink напрямую).
|
||||||
|
|
||||||
|
## Open Tasks (2026-05-20)
|
||||||
|
|
||||||
|
- 🟡 Передавать Transmission locations через router script при каждом импорте (сейчас вручную)
|
||||||
|
- 🔴 rsync невыполненных фильмов с HTPC на Кракен (`Фильмы не перенесенные с htpc на кракен.md`)
|
||||||
|
- 🟡 Watchlist sync-up: добавить перенесённые фильмы в нужные разделы
|
||||||
|
|
||||||
|
## See Also
|
||||||
|
|
||||||
|
- [[tech/arr-stack-kraken]] — детальные питфоллы *arr стека
|
||||||
|
- [[concepts/kraken-media-stack]] — полная архитектура медиасервера
|
||||||
|
- [[tech/hermes-docker-kraken]] — Hermes на Кракене
|
||||||
|
- [[tech/jellyfin-transcode-rpi5]] — Jellyfin PGS/ASS питфоллы
|
||||||
@@ -67,3 +67,4 @@ sources:
|
|||||||
|
|
||||||
- [[personal-os-architecture]] — Taiga как хост, TrueNAS infrastructure
|
- [[personal-os-architecture]] — Taiga как хост, TrueNAS infrastructure
|
||||||
- [[personal-os-schema]] — паттерны хранения данных в personal-os
|
- [[personal-os-schema]] — паттерны хранения данных в personal-os
|
||||||
|
- [[tech/truenas-inpxer]] — TrueNAS inpxer: пути, Badger DB lock питфол
|
||||||
|
|||||||
+5
-2
@@ -9,7 +9,7 @@ updated: '2026-05-16'
|
|||||||
# Wiki Index
|
# Wiki Index
|
||||||
|
|
||||||
Auto-maintained catalog of all pages in `wiki/`. Updated by the daily curation cron.
|
Auto-maintained catalog of all pages in `wiki/`. Updated by the daily curation cron.
|
||||||
> Last updated: 2026-05-19 | Total pages: 27
|
> Last updated: 2026-05-20 | Total pages: 31
|
||||||
|
|
||||||
## Core Architecture
|
## Core Architecture
|
||||||
|
|
||||||
@@ -37,6 +37,7 @@ Auto-maintained catalog of all pages in `wiki/`. Updated by the daily curation c
|
|||||||
- [[concepts/kraken-media-stack]] — Full Kraken media server: media-pipeline (Swift) + *arr stack + Jellyfin + watchlist-sync; pitfalls synthesis
|
- [[concepts/kraken-media-stack]] — Full Kraken media server: media-pipeline (Swift) + *arr stack + Jellyfin + watchlist-sync; pitfalls synthesis
|
||||||
- [[concepts/executor-orchestrator]] — Executor-as-worker pattern: Eagle spawns Executor as separate Hermes profile; auto-approval rules; GTD orchestration idea
|
- [[concepts/executor-orchestrator]] — Executor-as-worker pattern: Eagle spawns Executor as separate Hermes profile; auto-approval rules; GTD orchestration idea
|
||||||
- [[concepts/knowledge-lifecycle]] — How knowledge moves from session to permanent memory: barriers, tools, degradation risks
|
- [[concepts/knowledge-lifecycle]] — How knowledge moves from session to permanent memory: barriers, tools, degradation risks
|
||||||
|
- [[concepts/watchlist-automation]] — Full watchlist automation flow: discover → watchlist.md → Radarr/Sonarr → router.py → Jellyfin
|
||||||
|
|
||||||
## Entities
|
## Entities
|
||||||
|
|
||||||
@@ -47,10 +48,12 @@ Auto-maintained catalog of all pages in `wiki/`. Updated by the daily curation c
|
|||||||
- [[tech/media-pipeline-pitfalls]] — Swift media-pipeline: §9.x score engine, transliteration, KP rate limit, Docker run pattern
|
- [[tech/media-pipeline-pitfalls]] — Swift media-pipeline: §9.x score engine, transliteration, KP rate limit, Docker run pattern
|
||||||
- [[tech/vault-namespace]] — Vault namespace rules: work/personal/family separation, write permissions, agent access
|
- [[tech/vault-namespace]] — Vault namespace rules: work/personal/family separation, write permissions, agent access
|
||||||
- [[tech/kraken-network]] — Kraken network topology, WireGuard, media volume mount paths, *arr stack, HDD error recovery
|
- [[tech/kraken-network]] — Kraken network topology, WireGuard, media volume mount paths, *arr stack, HDD error recovery
|
||||||
- [[tech/htpc-steam-emulators]] — HTPC Steam/emulator rules, gamepad config, save paths
|
- [[tech/htpc-steam-emulators]] — HTPC Steam/emulator rules, Ryujinx Switch setup, qBittorrent API, Jackett ROM search, gamepad config
|
||||||
|
- [[tech/htpc-kodi-layout]] — HTPC Kodi NFO structure, symlinks, media layout, Wake-on-LAN
|
||||||
- [[tech/hermes-docker-kraken]] — Hermes Docker on Kraken: docker run rules, HERMES_SKIP_CHOWN, pitfalls
|
- [[tech/hermes-docker-kraken]] — Hermes Docker on Kraken: docker run rules, HERMES_SKIP_CHOWN, pitfalls
|
||||||
- [[tech/jellyfin-transcode-rpi5]] — Jellyfin PGS/ASS subtitle transcoding pitfalls on RPi5; pgsrip conversion; Transmission hook
|
- [[tech/jellyfin-transcode-rpi5]] — Jellyfin PGS/ASS subtitle transcoding pitfalls on RPi5; pgsrip conversion; Transmission hook
|
||||||
- [[tech/truenas-inpxer]] — TrueNAS inpxer book library: paths, Badger DB lock pitfall
|
- [[tech/truenas-inpxer]] — TrueNAS inpxer book library: paths, Badger DB lock pitfall
|
||||||
|
- [[tech/arr-stack-kraken]] — *arr stack on Kraken: Prowlarr/Radarr/Sonarr nginx pitfalls, DNS, grab limits, indexer config
|
||||||
|
|
||||||
## Workflows
|
## Workflows
|
||||||
|
|
||||||
|
|||||||
+40
@@ -171,3 +171,43 @@ Activity log for the daily Eagle wiki-curation cron job.
|
|||||||
- **Wikilinks added:** all 3 new tech pages now have 2+ outbound wikilinks ✅
|
- **Wikilinks added:** all 3 new tech pages now have 2+ outbound wikilinks ✅
|
||||||
- **Lint:** 27 pages scanned; frontmatter ✅; wikilinks ✅; orphans: none ✅; sizes: all <200 lines ✅
|
- **Lint:** 27 pages scanned; frontmatter ✅; wikilinks ✅; orphans: none ✅; sizes: all <200 lines ✅
|
||||||
- **Validation:** 7 files checked — all OK ✅
|
- **Validation:** 7 files checked — all OK ✅
|
||||||
|
|
||||||
|
|
||||||
|
## [2026-05-20] wiki-curation | 1 corruption fixed, 1 page created, 8 pages updated, 5 orphans fixed
|
||||||
|
|
||||||
|
- **Conflict scan:** No git conflict markers found across ~/obsidian/ ✅
|
||||||
|
- **Previous run (2026-05-19 02:00):** Status = complete, no Unfinished — nothing to resume
|
||||||
|
- **Change detection:**
|
||||||
|
- `wiki/tech/arr-stack-kraken.md` — NEW (2026-05-19): *arr stack pitfalls; had frontmatter corruption (embedded frontmatter in body) → fixed ✅
|
||||||
|
- `wiki/tech/htpc-kodi-layout.md` — NEW (2026-05-19): Kodi NFO layout; missing namespace/dates → fixed ✅
|
||||||
|
- `family/how-to/switch-emulation-rom-infra.md` — Ryujinx, qBittorrent, Jackett research → crystallized to htpc-steam-emulators.md ✅
|
||||||
|
- `family/projects/watchlist-discover.md` — NEW: discover cron details → incorporated into kraken-media-stack + watchlist-automation synthesis
|
||||||
|
- `family/projects/media-toolbox-kraken.md` — router script, Jellyfin library structure (2026-05-18 update) → updated kraken-media-stack ✅
|
||||||
|
- `personal/projects/psychologist-app/` — psychologist app (not wiki domain, skipped)
|
||||||
|
- `personal/psychology/` — personal, not wiki domain
|
||||||
|
- **Inbox:** raw/inbox/ empty ✅
|
||||||
|
- **Sessions crystallized (2026-05-20):** 6 sessions checked; 2 relevant (watchlist-discover creation, watchlist flow). Knowledge crystallized via family/ file changes instead. Psychologist/personal sessions: not wiki domain.
|
||||||
|
- **Corruption fix:** `tech/arr-stack-kraken.md` — duplicate frontmatter block embedded in body (Obsidian save collision). Synthesized correct content, removed corruption.
|
||||||
|
- **Pages created (1):** `concepts/watchlist-automation.md` — synthesis of watchlist flow across 4+ pages (discover → watchlist.md → *arr → router → Jellyfin)
|
||||||
|
- **Pages updated (8):**
|
||||||
|
- `tech/htpc-steam-emulators.md` — added Ryujinx Switch section, qBittorrent API, Jackett setup, ROM flow (from family/how-to/switch-emulation-rom-infra.md)
|
||||||
|
- `tech/arr-stack-kraken.md` — corruption fixed; added namespace/confidence frontmatter
|
||||||
|
- `tech/htpc-kodi-layout.md` — added namespace/dates frontmatter
|
||||||
|
- `tech/media-pipeline-pitfalls.md` — added namespace frontmatter
|
||||||
|
- `tech/kraken-network.md` — added namespace frontmatter
|
||||||
|
- `tech/vault-namespace.md` — added namespace frontmatter
|
||||||
|
- `concepts/kraken-media-stack.md` — updated Watchlist Automation section (discover cron, process-thumbs); added Router Script + Jellyfin library table (2026-05-20 state); added See Also wikilinks
|
||||||
|
- `concepts/vault-strategy.md` — added 2 wikilinks (knowledge-lifecycle, vault-namespace)
|
||||||
|
- `entities/library-app.md` — added truenas-inpxer wikilink
|
||||||
|
- `personal-os-architecture.md` — added See Also section with executor-orchestrator, user-profile links
|
||||||
|
- `wiki/index.md` — added 4 new pages (arr-stack-kraken, htpc-kodi-layout, watchlist-automation; updated htpc-steam-emulators summary); bumped to 31 pages, 2026-05-20
|
||||||
|
- **Orphan fixes (5 resolved via new inbound links):**
|
||||||
|
- executor-orchestrator ← personal-os-architecture (See Also)
|
||||||
|
- watchlist-automation ← kraken-media-stack (See Also)
|
||||||
|
- knowledge-lifecycle ← vault-strategy (See Also)
|
||||||
|
- truenas-inpxer ← library-app (See Also)
|
||||||
|
- vault-namespace ← vault-strategy (See Also)
|
||||||
|
- user-profile ← personal-os-architecture (See Also) [remaining: still orphan — needs inbound from user-profile-specific pages]
|
||||||
|
- **Synthesis:** `concepts/watchlist-automation.md` — synthesizes arr-stack-kraken + kraken-media-stack + hermes-docker-kraken + watchlist-discover
|
||||||
|
- **Lint:** 31 pages; namespace fixes (5 pages); orphan links added; no broken wikilinks; no pages over 200 lines
|
||||||
|
- **Validation:** 12 files checked — all OK ✅
|
||||||
|
|||||||
@@ -183,3 +183,10 @@ Media stack on Kraken: full *arr stack (Prowlarr/Radarr/Sonarr) + Transmission +
|
|||||||
│ └── apple-browsers/ ← .cursor/rules copies (.md) + vm-ui-testing.md
|
│ └── apple-browsers/ ← .cursor/rules copies (.md) + vm-ui-testing.md
|
||||||
└── personal/ family/
|
└── personal/ family/
|
||||||
```
|
```
|
||||||
|
|
||||||
|
## See Also
|
||||||
|
|
||||||
|
- [[concepts/executor-orchestrator]] — Executor as separate Hermes profile: auto-approval rules, GTD orchestration
|
||||||
|
- [[user-profile]] — Alex's profile and goals
|
||||||
|
- [[concepts/kraken-media-stack]] — Kraken full media stack
|
||||||
|
- [[personal-os-agent-rules]] — Agent behavior rules
|
||||||
|
|||||||
@@ -1,5 +1,6 @@
|
|||||||
---
|
---
|
||||||
title: "*arr Stack на Кракене — Pitfalls & Config"
|
title: "*arr Stack на Кракене — Pitfalls & Config"
|
||||||
|
namespace: work
|
||||||
type: reference
|
type: reference
|
||||||
tags:
|
tags:
|
||||||
- kraken
|
- kraken
|
||||||
@@ -9,7 +10,9 @@ tags:
|
|||||||
- arr
|
- arr
|
||||||
- pitfalls
|
- pitfalls
|
||||||
created: '2026-05-19'
|
created: '2026-05-19'
|
||||||
updated: '2026-05-19'
|
updated: '2026-05-20'
|
||||||
|
last_synced: '2026-05-20'
|
||||||
|
confidence: 0.9
|
||||||
---
|
---
|
||||||
# *arr Stack на Кракене — Pitfalls & Config
|
# *arr Stack на Кракене — Pitfalls & Config
|
||||||
|
|
||||||
@@ -31,22 +34,7 @@ Prowlarr (9696) → Radarr (7878) + Sonarr (8989) → Transmission (9091) → Je
|
|||||||
|
|
||||||
Конфиг: `/etc/nginx/openmediavault-webgui.d/media-services.conf` (используем `^~` prefix чтобы перебить OMV regex `.json` location).
|
Конфиг: `/etc/nginx/openmediavault-webgui.d/media-services.conf` (используем `^~` prefix чтобы перебить OMV regex `.json` location).
|
||||||
|
|
||||||
**⚠️ Pitfall:** OMV имеет regex `location ~* \.json---
|
**⚠️ Pitfall:** OMV имеет regex `location ~* \.json$` который перехватывает все JSON запросы (в т.ч. `/sonarr/initialize.json`). Без `^~` сервисы открываются белым экраном.
|
||||||
title: "*arr Stack на Кракене — Pitfalls & Config"
|
|
||||||
type: reference
|
|
||||||
tags:
|
|
||||||
- kraken
|
|
||||||
- radarr
|
|
||||||
- sonarr
|
|
||||||
- prowlarr
|
|
||||||
- arr
|
|
||||||
- pitfalls
|
|
||||||
created: '2026-05-19'
|
|
||||||
updated: '2026-05-19'
|
|
||||||
---
|
|
||||||
# *arr Stack на Кракене — Pitfalls & Config
|
|
||||||
|
|
||||||
который перехватывает все JSON запросы (в т.ч. `/sonarr/initialize.json`). Без `^~` сервисы открываются белым экраном.
|
|
||||||
|
|
||||||
## Docker Networks
|
## Docker Networks
|
||||||
|
|
||||||
|
|||||||
@@ -1,5 +1,6 @@
|
|||||||
---
|
---
|
||||||
title: "HTPC — Kodi NFO, Симлинки, Media Layout"
|
title: "HTPC — Kodi NFO, Симлинки, Media Layout"
|
||||||
|
namespace: personal
|
||||||
type: reference
|
type: reference
|
||||||
tags:
|
tags:
|
||||||
- htpc
|
- htpc
|
||||||
@@ -9,7 +10,9 @@ tags:
|
|||||||
- media
|
- media
|
||||||
- wol
|
- wol
|
||||||
created: '2026-05-19'
|
created: '2026-05-19'
|
||||||
updated: '2026-05-19'
|
updated: '2026-05-20'
|
||||||
|
last_synced: '2026-05-20'
|
||||||
|
confidence: 0.9
|
||||||
---
|
---
|
||||||
# HTPC — Kodi NFO, Симлинки, Media Layout
|
# HTPC — Kodi NFO, Симлинки, Media Layout
|
||||||
|
|
||||||
|
|||||||
@@ -1,7 +1,9 @@
|
|||||||
---
|
---
|
||||||
title: HTPC — Steam, Эмуляторы, Геймпады
|
title: HTPC — Steam, Эмуляторы, Геймпады
|
||||||
|
namespace: personal
|
||||||
created: '2026-05-17'
|
created: '2026-05-17'
|
||||||
updated: '2026-05-17'
|
updated: '2026-05-20'
|
||||||
|
last_synced: '2026-05-20'
|
||||||
type: reference
|
type: reference
|
||||||
tags:
|
tags:
|
||||||
- htpc
|
- htpc
|
||||||
@@ -9,7 +11,7 @@ tags:
|
|||||||
- emulators
|
- emulators
|
||||||
- gamepads
|
- gamepads
|
||||||
- bazzite
|
- bazzite
|
||||||
confidence: high
|
confidence: 0.9
|
||||||
---
|
---
|
||||||
# HTPC — Steam, Эмуляторы, Геймпады
|
# HTPC — Steam, Эмуляторы, Геймпады
|
||||||
|
|
||||||
@@ -38,3 +40,126 @@ confidence: high
|
|||||||
- 2× 8BitDo (Xbox-схема, X-режим)
|
- 2× 8BitDo (Xbox-схема, X-режим)
|
||||||
- Dolphin: SDL-маппинг, Classic Controller
|
- Dolphin: SDL-маппинг, Classic Controller
|
||||||
- DKC Returns: X = Roll+Shake
|
- DKC Returns: X = Roll+Shake
|
||||||
|
|
||||||
|
## Switch Эмуляция — Ryujinx (Ryubing)
|
||||||
|
|
||||||
|
Оригинальный Ryujinx и Yuzu закрыты (Nintendo судится). Живые форки:
|
||||||
|
|
||||||
|
| Эмулятор | Основа | Статус | Платформа |
|
||||||
|
|----------|--------|--------|-----------|
|
||||||
|
| **Ryujinx (Ryubing/GreemDev)** | Ryujinx | ✅ Активно | Flatpak `io.github.ryubing.Ryujinx` |
|
||||||
|
| Eden | Yuzu | ✅ Активно | Android |
|
||||||
|
| Citron | Yuzu | Активно | Альтернатива |
|
||||||
|
|
||||||
|
**Для HTPC: Ryujinx (Ryubing) v1.3.3 через Flatpak.**
|
||||||
|
|
||||||
|
### Установка (✅ 2026-05-16)
|
||||||
|
|
||||||
|
```bash
|
||||||
|
flatpak install -y --user flathub io.github.ryubing.Ryujinx
|
||||||
|
```
|
||||||
|
|
||||||
|
**Пути (Flatpak):**
|
||||||
|
```
|
||||||
|
# Keys:
|
||||||
|
~/.var/app/io.github.ryubing.Ryujinx/data/Ryujinx/system/prod.keys
|
||||||
|
~/.var/app/io.github.ryubing.Ryujinx/data/Ryujinx/system/title.keys
|
||||||
|
|
||||||
|
# ROMs:
|
||||||
|
~/Emulation/roms/switch/ (Steam ROM Manager подхватит)
|
||||||
|
|
||||||
|
# Saves:
|
||||||
|
~/.var/app/io.github.ryubing.Ryujinx/data/Ryujinx/bis/user/save/
|
||||||
|
```
|
||||||
|
|
||||||
|
### prod.keys — Источники
|
||||||
|
|
||||||
|
- **GitHub THZoria/NX_Firmware** ⭐ — актуальная версия firmware + keys (22.1.0, апр. 2026)
|
||||||
|
- **4PDA** — тема Switch ROM'ов, в шапке ссылки на firmware/keys
|
||||||
|
- **Rutracker** — раздел `/f=1605`, в шапках тем часто есть keys
|
||||||
|
|
||||||
|
**Firmware** устанавливается через GUI: Ryujinx → Tools → Install Firmware → Install from ZIP
|
||||||
|
Keys и firmware должны быть одной версии.
|
||||||
|
|
||||||
|
### ROMs форматы
|
||||||
|
- `.nsp` — предпочтительный (Nintendo Submission Package)
|
||||||
|
- `.xci` — картридж-дамп, тоже работает
|
||||||
|
|
||||||
|
### DKC Tropical Freeze — совместимость
|
||||||
|
Подтверждено: работает на схожем железе (i5-6500 + GTX 1050 Ti). HTPC (i7-6800K + RX 570, Vulkan) — ожидается Playable–Perfect.
|
||||||
|
|
||||||
|
## qBittorrent на HTPC (✅ 2026-05-16)
|
||||||
|
|
||||||
|
```bash
|
||||||
|
flatpak install -y --user flathub org.qbittorrent.qBittorrent
|
||||||
|
# Версия 5.2.0
|
||||||
|
```
|
||||||
|
|
||||||
|
| Настройка | Значение |
|
||||||
|
|-----------|----------|
|
||||||
|
| Web UI | http://192.168.1.86:8080 |
|
||||||
|
| BitTorrent port | 6881 |
|
||||||
|
| Download dir | `/run/media/bazzite/Data/downloads/complete` |
|
||||||
|
| Incomplete dir | `/run/media/bazzite/Data/downloads/incomplete` |
|
||||||
|
|
||||||
|
**Sonarr/Radarr интеграция:** Settings → Download Clients → Add → qBittorrent (host: `192.168.1.86`, port: `8080`).
|
||||||
|
|
||||||
|
### API — добавить торрент
|
||||||
|
|
||||||
|
```bash
|
||||||
|
# Логин
|
||||||
|
SID=$(curl -s -i --header 'Referer: http://192.168.1.86:8080' \
|
||||||
|
--data 'username=admin&password=PASSWORD' \
|
||||||
|
http://192.168.1.86:8080/api/v2/auth/login \
|
||||||
|
| grep -i 'set-cookie' | grep -o 'SID=[^;]*')
|
||||||
|
|
||||||
|
# Добавить магнет
|
||||||
|
curl -s --cookie "$SID" \
|
||||||
|
--data-urlencode "urls=magnet:?xt=urn:btih:HASH..." \
|
||||||
|
--data "savepath=/home/bazzite/Emulation/roms/switch/" \
|
||||||
|
http://192.168.1.86:8080/api/v2/torrents/add
|
||||||
|
```
|
||||||
|
|
||||||
|
## Jackett на Кракене — Поиск ROM/торрентов
|
||||||
|
|
||||||
|
```yaml
|
||||||
|
# /srv/.../docker/jackett/docker-compose.yml
|
||||||
|
services:
|
||||||
|
jackett:
|
||||||
|
image: lscr.io/linuxserver/jackett:latest
|
||||||
|
container_name: jackett
|
||||||
|
environment:
|
||||||
|
- PUID=1000
|
||||||
|
- PGID=1000
|
||||||
|
- TZ=Asia/Bishkek
|
||||||
|
volumes:
|
||||||
|
- ./config:/config
|
||||||
|
- ./downloads:/downloads
|
||||||
|
ports:
|
||||||
|
- 9117:9117
|
||||||
|
restart: unless-stopped
|
||||||
|
```
|
||||||
|
|
||||||
|
Web UI: `http://kraken:9117`
|
||||||
|
Поддерживает RuTracker (нужна учётка). API: Torznab endpoint.
|
||||||
|
|
||||||
|
```bash
|
||||||
|
# Поиск игры
|
||||||
|
curl "http://192.168.1.14:9117/api/v2.0/indexers/rutracker/results/torznab/?apikey=***&t=search&q=Donkey+Kong+Tropical+Freeze+Switch&cat=8000"
|
||||||
|
```
|
||||||
|
|
||||||
|
## Целевой Flow: Агент ищет и качает ROM
|
||||||
|
|
||||||
|
```
|
||||||
|
Eagle/Кракен → Jackett API (Кракен :9117) → RuTracker
|
||||||
|
→ Выбор лучшего torrent (seeders, формат NSP/XCI)
|
||||||
|
→ qBittorrent API (HTPC :8080) — magnet + savepath=/Emulation/roms/switch/
|
||||||
|
→ Steam ROM Manager → игра в Gaming Mode
|
||||||
|
```
|
||||||
|
|
||||||
|
## See Also
|
||||||
|
|
||||||
|
- [[tech/htpc-kodi-layout]] — Kodi, NFO, симлинки, медиа-структура
|
||||||
|
- [[tech/kraken-network]] — сеть, WireGuard, топология
|
||||||
|
- [[tech/arr-stack-kraken]] — Prowlarr/Radarr/Sonarr на Кракене
|
||||||
|
|
||||||
|
|||||||
@@ -1,7 +1,9 @@
|
|||||||
---
|
---
|
||||||
title: Kraken Network & Infra
|
title: Kraken Network & Infra
|
||||||
|
namespace: work
|
||||||
created: '2026-05-17'
|
created: '2026-05-17'
|
||||||
updated: '2026-05-18'
|
updated: '2026-05-20'
|
||||||
|
last_synced: '2026-05-20'
|
||||||
type: reference
|
type: reference
|
||||||
tags:
|
tags:
|
||||||
- kraken
|
- kraken
|
||||||
|
|||||||
@@ -1,7 +1,9 @@
|
|||||||
---
|
---
|
||||||
title: Media Pipeline — Pitfalls & Debug Notes
|
title: Media Pipeline — Pitfalls & Debug Notes
|
||||||
|
namespace: work
|
||||||
created: '2026-05-16'
|
created: '2026-05-16'
|
||||||
updated: '2026-05-18'
|
updated: '2026-05-20'
|
||||||
|
last_synced: '2026-05-20'
|
||||||
type: entity
|
type: entity
|
||||||
tags:
|
tags:
|
||||||
- media-pipeline
|
- media-pipeline
|
||||||
|
|||||||
@@ -1,7 +1,9 @@
|
|||||||
---
|
---
|
||||||
title: Vault Namespace Rules
|
title: Vault Namespace Rules
|
||||||
|
namespace: work
|
||||||
created: '2026-05-17'
|
created: '2026-05-17'
|
||||||
updated: '2026-05-17'
|
updated: '2026-05-20'
|
||||||
|
last_synced: '2026-05-20'
|
||||||
type: reference
|
type: reference
|
||||||
tags:
|
tags:
|
||||||
- vault
|
- vault
|
||||||
|
|||||||
Reference in New Issue
Block a user