diff --git a/family/how-to/jellyfin-config.md b/family/how-to/jellyfin-config.md index e8d03731..27a73968 100644 --- a/family/how-to/jellyfin-config.md +++ b/family/how-to/jellyfin-config.md @@ -1,17 +1,24 @@ --- title: Jellyfin Config created: '2026-05-23' -updated: '2026-05-23' +updated: '2026-06-17' type: tech namespace: family -tags: [jellyfin, infra, media, credentials] +tags: + - jellyfin + - infra + - media + - credentials + - api related: - - "[[tech/arr-stack-kraken]]" + - '[[tech/arr-stack-kraken]]' + - '[[tech/router-py]]' --- - # Jellyfin Config **URL:** `http://kraken:8096` +**API Base (внутри контейнера kraken):** `http://kraken:8096/jellyfin/` +(все API эндпоинты под префиксом `/jellyfin`) ## Users @@ -31,3 +38,29 @@ Used by automation scripts (watchlist-sync, media-pipeline agents). - **Before any DB operation:** `docker stop jellyfin` first - Jellyfin runs as a Docker container on Kraken - Config stored in `/opt/jellyfin/config/` (check docker-compose for exact path) + +## API Endpoints (base: `http://kraken:8096/jellyfin/`) + +Авторизация: заголовок `X-MediaBrowser-Token: ` + +| Что | Endpoint | Метод | +|---|---|---| +| Инфо о сервере | `/System/Info` | GET | +| Библиотеки (виртуальные папки) | `/Library/VirtualFolders` | GET | +| Поиск по типу | `/Items?includeItemTypes=Series&recursive=true&searchTerm=...&fields=Path` | GET | +| Удалить item | `/Items/{id}` | DELETE | +| Полный рескан | `/Items/Refresh?Recursive=true&RefreshMode=FullRefresh` | POST (требует Content-Type: application/json) | + +## Библиотеки + +| Название | Путь | Назначение | +|---|---|---| +| Series | `/media/series` | Сериалы (симлинки от router.py из sonarr) | +| Movies | `/media/movies` | Фильмы | +| Cartoon Series | `/media/cartoons-series` | Мультсериалы | +| Cartoons | `/media/cartoons` | Мультфильмы | +| Documentaries | `/media/documentaries` | Документалки | +| Documentary Series | `/media/documentaries-series` | Документальные сериалы | +| Music | | Музыка | + +> **Важно:** Прямые пути sonarr (`/media/series-sonarr/`, `/media/movies-radarr/`) **не должны быть** в библиотеках Jellyfin. Router.py создаёт симлинки из sonarr-папок в `/media/series/` и `/media/movies/`. Если symlink уже есть — дубли не появятся. Если есть старые дубли — удалить orphaned items через `DELETE /Items/{id}`.