4.0 KiB
4.0 KiB
title, created, updated, type, tags, confidence
| title | created | updated | type | tags | confidence | ||||
|---|---|---|---|---|---|---|---|---|---|
| Kraken Media Server — Full Stack | 2026-05-18 | 2026-05-18 | concept |
|
high |
Kraken Media Server — Full Stack
Синтез: полная карта медиа-стека на Кракене (RPi5). Объединяет tech/kraken-network, tech/media-pipeline-pitfalls, tech/htpc-steam-emulators.
Архитектурный обзор
Два параллельных конвейера для медиа-контента:
Конвейер 1 — media-pipeline (Swift, ручной импорт HTPC→Kraken)
HTPC (rsync) → /media/{movies,cartoons,series,documentaries}/
→ media-pipeline:kraken (Docker) → scan → resolve → apply
→ /media/library/{movies,cartoons,series}/ (canonical + NFO)
→ Jellyfin
- Resolve: TMDb (Tier 1) → KP (Tier 2) → IMDb scrape (Tier 3) → web search (Tier 4)
- Классификация по жанрам провайдера (Animation→cartoons, Documentary→documentaries), никогда по пути
unresolved.json— очередь нераспознанных (13 items на 2026-05-16, все genuine absences)
Конвейер 2 — *arr stack (новые скачки через Radarr/Sonarr)
Prowlarr (RuTracker) → Radarr (7878) / Sonarr (8989)
→ Transmission (9091) → /media/movies-radarr, /media/series-sonarr
→ Jellyfin
- Раздельные root folder'ы (
movies-radarr,series-sonarr) — не конфликтуют с media-pipeline library - Jellyfin читает оба пути для Movies и Series
Сервисы и порты
| Сервис | Порт | Данные |
|---|---|---|
| Jellyfin | 8096 | /media/library/ + /media/movies-radarr + /media/series-sonarr |
| Transmission | 9091 | /media/downloads/complete |
| Radarr | 7878 | root: /media/movies-radarr |
| Sonarr | 8989 | root: /media/series-sonarr |
| Prowlarr | 9696 | индексер: RuTracker |
| media-pipeline | — | Docker run, не compose; config: ~/docker/media-pipeline/ |
| Hermes (Kraken) | — | Docker container, skills: ~/.hermes/skills/ |
Ключевые питфоллы (пережитые)
- HDD read-only под нагрузкой — rsync + ffmpeg transcode одновременно → Sense Key 0x4, ext4 remount-ro. Фикс: ребут → fsck →
docker compose up -d(2026-05-18) docker save | sshзависает — через WireGuard tunnel. Фикс:docker save -o /tmp/+scp+docker loadраздельно- curl отсутствует в Hermes-контейнере — скиллы с curl-командами не работают из контейнера. Навигация: хостовый Hermes vs container Hermes
- Pi-hole DNS hijack → Sonarr/Radarr 503. Фикс: whitelist или прямые IP
- Skills path:
~/.hermes/skills/(хост) ≠/opt/data/skills/(контейнер) - KP API domain переехал на
api.poiskkino.dev(былapi.kinopoisk.dev) - providers block в config.json — если не указан явно, все провайдеры disabled → 213 skipped вместо 278 applied
Статус (2026-05-18)
- ✅ media-pipeline: 402/402 тестов, 13 unresolved (genuine absences в KP/TMDb)
- ✅ *arr stack: Prowlarr+Radarr+Sonarr+Transmission+Jellyfin — работают
- ✅ Hermes на Кракене: docker container, скиллы
download-media+arr-media-stack-setup - ⏳ Трекер-парсеры (Steps D-F): audio/non-video scanner, fixture тесты для rutor/nnm-club
- ⏳ Transmission torrent-fix: 271/293 файлов без привязки после pipeline apply
Агент-доступ
Kraken-Hermes в контейнере (hermes-kraken) доступен через Zulip. Скачать медиа:
- Сериал → Sonarr API → Transmission
- Фильм → Radarr API → Transmission
- Только через curl (python3 запрещён в скилле)