Files
obsidian-vault/wiki/concepts/kraken-media-stack.md
T

4.0 KiB
Raw Blame History

title, created, updated, type, tags, confidence
title created updated type tags confidence
Kraken Media Server — Full Stack 2026-05-18 2026-05-18 concept
kraken
media-pipeline
infra
synthesis
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/

Ключевые питфоллы (пережитые)

  1. HDD read-only под нагрузкой — rsync + ffmpeg transcode одновременно → Sense Key 0x4, ext4 remount-ro. Фикс: ребут → fsck → docker compose up -d (2026-05-18)
  2. docker save | ssh зависает — через WireGuard tunnel. Фикс: docker save -o /tmp/ + scp + docker load раздельно
  3. curl отсутствует в Hermes-контейнере — скиллы с curl-командами не работают из контейнера. Навигация: хостовый Hermes vs container Hermes
  4. Pi-hole DNS hijack → Sonarr/Radarr 503. Фикс: whitelist или прямые IP
  5. Skills path: ~/.hermes/skills/ (хост) ≠ /opt/data/skills/ (контейнер)
  6. KP API domain переехал на api.poiskkino.dev (был api.kinopoisk.dev)
  7. 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 запрещён в скилле)