6.3 KiB
title, namespace, type, tags, created, updated, status
| title | namespace | type | tags | created | updated | status | |||||||
|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
| *arr Stack на Тайге — Setup & Config | family | reference |
|
2026-05-20 | 2026-05-20 | planned |
*arr Stack на Тайге — Setup & Config
Архитектура
Prowlarr (9696) → Radarr (7878) + Sonarr (8989) → Transmission (9091) → Jellyfin (8096)
Staging папки (radarr/, sonarr/) невидимы в Jellyfin.
Router скрипт создаёт симлинки из staging → категоризированные библиотеки по NFO (genre + mpaa).
Transmission → /mnt/storage/Downloads
Radarr импортирует → /storage/radarr/<Title>/
Sonarr импортирует → /storage/sonarr/<Title>/
router.py (--apply)
movies/ cartoons/ series/
cartoons-series/ documentaries/ documentaries-series/
↓
Jellyfin
Web UI (HTTPS через Caddy)
| Сервис | URL |
|---|---|
| Radarr | https://radarr.mallexxx.duckdns.org |
| Sonarr | https://sonarr.mallexxx.duckdns.org |
| Prowlarr | https://prowlarr.mallexxx.duckdns.org |
| Jellyfin | https://jellyfin.mallexxx.duckdns.org |
| Transmission | https://transmission.mallexxx.duckdns.org (уже был) |
Caddy: subdomain-based роутинг, без URL Base. Let's Encrypt автоматически.
Docker
Compose: /mnt/RED_2TB/docker/arr/docker-compose.yml
Config dirs: /mnt/RED_2TB/docker/arr/{prowlarr,radarr,sonarr,jellyfin}/
PUID/PGID: 921/921 (user transmission, тот же что владеет /storage/)
Сети
| Контейнер | Сети |
|---|---|
| prowlarr | media_net + caddy_default |
| radarr | media_net + caddy_default |
| sonarr | media_net + caddy_default |
| jellyfin | caddy_default |
| transmission | transmission_default + media_net (подключён вручную) |
| vless-proxy | hermes_taiga_net + media_net (подключён вручную) |
media_net — внешняя сеть, создана вручную: docker network create media_net
Хранилище
Host: /mnt/RED_2TB/storage/ → внутри контейнеров: /storage/
Transmission mount: /mnt/RED_2TB/storage/ → /mnt/storage/
Папки
| Папка | Назначение | Jellyfin |
|---|---|---|
radarr/ |
Radarr root (staging) | ❌ |
sonarr/ |
Sonarr root (staging) | ❌ |
Movies/ |
Фильмы (симлинки + старый контент) | ✅ Movies |
Cartoons/ |
Мультики (симлинки + старый контент) | ✅ Cartoons |
series/ |
Сериалы | ✅ Series |
cartoons-series/ |
Мультсериалы | ✅ Cartoon Series |
documentaries/ |
Документалки | ✅ Documentaries |
documentaries-series/ |
Документальные сериалы | ✅ Documentary Series |
Downloads/ |
Торренты (Transmission) | ❌ |
Все папки: uid=921, gid=921, NFSv4 ACL через midclt.
API ключи
| Сервис | Полный ключ |
|---|---|
| Radarr | TBD после деплоя |
| Sonarr | TBD после деплоя |
| Prowlarr | TBD после деплоя |
| Jellyfin | TBD после деплоя |
Получить: docker exec <svc> grep ApiKey /config/config.xml
Remote Path Mapping (Radarr + Sonarr)
Transmission монтирует /mnt/RED_2TB/storage/ → /mnt/storage/
Radarr/Sonarr монтируют /mnt/RED_2TB/storage/ → /storage/
Маппинг в каждом:
- host:
transmission - remotePath:
/mnt/storage/Downloads/ - localPath:
/storage/Downloads/
Prowlarr — прокси для заблокированных индексеров
vless-proxy доступен в media_net как vless-proxy:1080 (SOCKS5).
Настройка в Prowlarr: Settings → Indexers → Add Proxy:
- Type: SOCKS5
- Host:
vless-proxy, Port:1080 - Tags:
[proxy]
Индексеры с тегом proxy: RuTracker (заблокирован в РФ), остальные — по усмотрению.
Индексеры (те же что на Кракене)
| Имя | Примечание |
|---|---|
| RuTracker | через прокси |
| RuTor | |
| Byrutor | enableRss: false |
| NoNaMe Club | |
| Kinozal | |
| Kinozal (M) | магнет, без grab limit — предпочтительный |
preferMagnetUrl: true для всех → нет дневного лимита на .torrent.
router.py
Скрипт: /mnt/RED_2TB/docker/arr/media-pipeline/router.py
Адаптация kraken-версии с изменёнными путями:
MEDIA_BASE = Path("/mnt/RED_2TB/storage")
SOURCES = [
("movie", MEDIA_BASE / "radarr"),
("series", MEDIA_BASE / "sonarr"),
]
TARGETS = {
"movies": MEDIA_BASE / "Movies",
"series": MEDIA_BASE / "series",
"cartoons": MEDIA_BASE / "Cartoons",
"cartoons-series": MEDIA_BASE / "cartoons-series",
"documentaries": MEDIA_BASE / "documentaries",
"documentaries-series": MEDIA_BASE / "documentaries-series",
}
JELLYFIN_URL = "http://jellyfin:8096" # или по IP
Запуск вручную (авто-хука нет):
ssh truenas_admin@mallexxx.duckdns.org "python3 /mnt/RED_2TB/docker/arr/media-pipeline/router.py"
# проверить, затем:
ssh truenas_admin@mallexxx.duckdns.org "python3 /mnt/RED_2TB/docker/arr/media-pipeline/router.py --apply"
Отличия от Кракена
| Kraken | Taiga | |
|---|---|---|
| Reverse proxy | nginx path-based (/sonarr) |
Caddy subdomain-based |
| HTTPS | нет | автоматически (Let's Encrypt) |
| PUID/PGID | 1000/1000 | 921/921 (transmission) |
| Staging папки | movies-radarr/, series-sonarr/ |
radarr/, sonarr/ |
| Прокси для индексеров | нет | vless-proxy SOCKS5 (hermes_taiga_net) |
| Авто-синк (watchlist) | ❌ (был, убрали) | ❌ нет |
| Jellyfin users | alex + lisa | только alex |
| PGS→SRT | pgsrip + cron | TBD (при необходимости) |
История
- 2026-05-20 — первоначальный деплой