Files
obsidian-vault/wiki/tech/arr-stack-taiga.md
T
2026-05-22 03:01:44 +06:00

112 lines
4.9 KiB
Markdown

---
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]] — сетевая топология