[watchlist] process-thumbs 2026-05-20
This commit is contained in:
@@ -0,0 +1,178 @@
|
||||
---
|
||||
title: '*arr Stack на Тайге — Setup & Config'
|
||||
namespace: family
|
||||
type: reference
|
||||
tags:
|
||||
- taiga
|
||||
- radarr
|
||||
- sonarr
|
||||
- prowlarr
|
||||
- jellyfin
|
||||
- arr
|
||||
- media
|
||||
created: '2026-05-20'
|
||||
updated: '2026-05-20'
|
||||
status: 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-версии с изменёнными путями:
|
||||
|
||||
```python
|
||||
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
|
||||
```
|
||||
|
||||
Запуск вручную (авто-хука нет):
|
||||
```bash
|
||||
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** — первоначальный деплой
|
||||
Reference in New Issue
Block a user