[2026-05-22] taiga sync: .obsidian/community-plugins.json .obsidian/graph.json .obsidian/hotkeys.json .obsidian/plugins/obsidian-git/data.json .obsidian/plugins/obsidian-git/main.js
This commit is contained in:
@@ -1,111 +0,0 @@
|
||||
---
|
||||
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]] — сетевая топология
|
||||
Reference in New Issue
Block a user