--- title: "*arr Stack на Тайге — Setup & Config" created: '2026-05-22' updated: '2026-05-22' last_synced: '2026-05-22' type: reference namespace: work tags: - taiga - arr - media - jellyfin - pitfall confidence: 0.9 sources: - family/projects/media-toolbox-taiga.md --- # *arr Stack на Тайге — Setup & Config Задеплоен 2026-05-20 на TrueNAS (Taiga). Аналог [[tech/arr-stack-kraken]], но c Caddy вместо nginx и иными путями. ## Архитектура ``` Prowlarr (9696) → Radarr (7878) + Sonarr (8989) → Transmission (9091) → Jellyfin (8096) router.py создаёт симлинки: staging → категоризированные библиотеки ``` **Compose-файл:** `/mnt/RED_2TB/docker/arr/docker-compose.yml` **Конфиги:** `/mnt/RED_2TB/docker/arr/{prowlarr,radarr,sonarr,jellyfin}/` **PUID/PGID:** 921/921 (user `transmission`) ## Web UI (Caddy + HTTPS) | Сервис | 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 routing, Let's Encrypt автоматически. ## Хранилище `/mnt/RED_2TB/storage/` → в контейнерах `/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) | ❌ | ## Remote Path Mapping (Radarr + Sonarr) Transmission: `/mnt/storage/Downloads/` → `/mnt/storage/` Radarr/Sonarr: `/storage/` Маппинг в каждом `arr`: - host: `transmission`, remotePath: `/mnt/storage/Downloads/`, localPath: `/storage/Downloads/` ## Prowlarr — прокси для заблокированных индексеров vless-proxy в `media_net` как `vless-proxy:1080` (SOCKS5). Настройка: Settings → Indexers → Add Proxy → SOCKS5. **Индексеры:** RuTracker (через прокси), RuTor, Byrutor (enableRss: false), NoNaMe Club, Kinozal, Kinozal (M) — `preferMagnetUrl: true` для всех. ## router.py `/mnt/RED_2TB/docker/arr/media-pipeline/router.py` ```bash # Dry-run, затем apply: 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 | | Jellyfin users | alex + lisa | только alex | | PGS→SRT | pgsrip + cron | TBD | ## Питфоллы (при деплое) - `d---------` в ls — норма для NFSv4 ACL на TrueNAS. Реальные права через `midclt call filesystem.getacl` - После alpine `chown` NFSv4 ACE слетают → повторно применять через `midclt filesystem.setacl` - `indexers.prowlarr.com` отдаёт 403 с IP Тайги → Prowlarr не может скачать Cardigann definitions. Решение: скопировать `/config/Definitions/` с Кракена (549 yml-файлов) - POST /indexer зависает при добавлении Cardigann через API → import через SQLite напрямую с Кракена - Jellyfin 10.11: `name` в POST `/Library/VirtualFolders` — в query string (`?name=Movies`), не в body - Transmission whitelist через env var `WHITELIST` в compose (settings.json перезаписывается при старте) - На Тайге нет `curl` и `python3` в PATH хоста — только внутри контейнеров. Скрипты через `docker exec` или scp ## Связанные страницы - [[tech/arr-stack-kraken]] — *arr stack на Кракене (для сравнения) - [[concepts/kraken-media-stack]] — полная архитектура медиастека - [[tech/kraken-network]] — сетевая топология