166 lines
6.9 KiB
Markdown
166 lines
6.9 KiB
Markdown
---
|
||
title: "*arr Stack на Кракене — Pitfalls & Config"
|
||
type: reference
|
||
tags:
|
||
- kraken
|
||
- radarr
|
||
- sonarr
|
||
- prowlarr
|
||
- arr
|
||
- pitfalls
|
||
created: '2026-05-19'
|
||
updated: '2026-05-19'
|
||
---
|
||
# *arr Stack на Кракене — Pitfalls & Config
|
||
|
||
## Архитектура
|
||
|
||
Prowlarr (9696) → Radarr (7878) + Sonarr (8989) → Transmission (9091) → Jellyfin (8096)
|
||
|
||
## Web UI (nginx reverse proxy)
|
||
|
||
Все сервисы доступны через nginx на порту 80 (urlBase настроен в каждом сервисе):
|
||
|
||
| Сервис | URL | Прямой порт |
|
||
|--------|-----|-------------|
|
||
| Sonarr | http://kraken/sonarr | 8989 |
|
||
| Radarr | http://kraken/radarr | 7878 |
|
||
| Prowlarr | http://kraken/prowlarr | 9696 |
|
||
| Jellyfin | http://kraken/jellyfin | 8096 |
|
||
| Transmission | http://kraken/transmission | 9091 |
|
||
|
||
Конфиг: `/etc/nginx/openmediavault-webgui.d/media-services.conf` (используем `^~` prefix чтобы перебить OMV regex `.json` location).
|
||
|
||
**⚠️ Pitfall:** OMV имеет regex `location ~* \.json---
|
||
title: "*arr Stack на Кракене — Pitfalls & Config"
|
||
type: reference
|
||
tags:
|
||
- kraken
|
||
- radarr
|
||
- sonarr
|
||
- prowlarr
|
||
- arr
|
||
- pitfalls
|
||
created: '2026-05-19'
|
||
updated: '2026-05-19'
|
||
---
|
||
# *arr Stack на Кракене — Pitfalls & Config
|
||
|
||
который перехватывает все JSON запросы (в т.ч. `/sonarr/initialize.json`). Без `^~` сервисы открываются белым экраном.
|
||
|
||
## Docker Networks
|
||
|
||
| Сервис | Сети |
|
||
|--------|------|
|
||
| Radarr | docker_default |
|
||
| Sonarr | media_net + docker_default |
|
||
| Prowlarr | docker_default + media_net |
|
||
| Transmission | docker_default |
|
||
| Jellyfin | (отдельно) |
|
||
|
||
Sonarr изначально был только в `media_net` → не видел Transmission → ошибки download client. Добавлен в `docker_default` в `docker-compose.yml`.
|
||
|
||
## watchlist-sync .env URLs
|
||
|
||
После установки urlBase — API переехало на base path:
|
||
```
|
||
RADARR_URL=http://localhost:7878/radarr
|
||
SONARR_URL=http://localhost:8989/sonarr
|
||
JELLYFIN_URL=http://localhost:8096/jellyfin
|
||
```
|
||
|
||
## API ключи (prefixes)
|
||
|
||
| Сервис | Prefix | Полный ключ |
|
||
|--------|--------|-------------|
|
||
| Radarr | `cbcb8ec3` | в `family/projects/media-toolbox-kraken.md` |
|
||
| Sonarr | `15fbec32` | в `family/projects/media-toolbox-kraken.md` |
|
||
| Prowlarr | `134ac38a` | в `family/projects/media-toolbox-kraken.md` |
|
||
|
||
**Получить полный ключ:**
|
||
```bash
|
||
docker exec <svc> grep ApiKey /config/config.xml
|
||
```
|
||
|
||
Prefixes в памяти только для идентификации — никогда не хардкодить полные ключи в промптах.
|
||
|
||
## ⚠️ DNS Pitfall — Pi-hole блокирует skyhook.sonarr.tv
|
||
|
||
**Симптом:** поиск при добавлении сериала/фильма через Sonarr/Radarr не запускается.
|
||
|
||
**Причина:** Pi-hole блокирует `skyhook.sonarr.tv` (и возможно другие *arr endpoints).
|
||
|
||
**Фикс:** прописать явный DNS в `docker-compose.yml` для Sonarr и Radarr:
|
||
```yaml
|
||
dns:
|
||
- 8.8.8.8
|
||
- 8.8.4.4
|
||
```
|
||
|
||
Применено: 2026-05-18. Файлы: `/srv/.../docker/radarr/docker-compose.yml` и `sonarr/docker-compose.yml`.
|
||
|
||
## Root folders
|
||
|
||
- Radarr: `/media/movies-radarr`
|
||
- Sonarr: `/media/series-sonarr`
|
||
|
||
(Router script создаёт symlinks из этих папок в тематические библиотеки Jellyfin.)
|
||
|
||
## Prowlarr → Sonarr/Radarr sync — правильная настройка
|
||
|
||
**Корень проблемы "неправильный URL":** Prowlarr при sync проставляет в Sonarr/Radarr URL вида `http://prowlarr:9696/N/` вместо `http://prowlarr:9696/prowlarr/N/`. Это происходит если в настройках Application → `prowlarrUrl` не указан urlBase.
|
||
|
||
**Правильное значение** в Prowlarr → Settings → Apps → (Sonarr/Radarr) → Prowlarr URL:
|
||
```
|
||
http://prowlarr:9696/prowlarr
|
||
```
|
||
(без trailing slash, с urlBase `/prowlarr`)
|
||
|
||
После изменения — запустить принудительный sync:
|
||
```bash
|
||
curl -X POST "http://localhost:9696/prowlarr/api/v1/command?apikey=KEY" \
|
||
-H "Content-Type: application/json" -d '{"name":"ApplicationIndexerSync"}'
|
||
```
|
||
|
||
## Grab limit 429 — решение через магнет-ссылки
|
||
|
||
NoNaMe Club, RuTracker и другие дают 429 при скачивании torrent-файлов (дневной лимит).
|
||
|
||
**Фикс:** включить `preferMagnetUrl: true` для каждого индексера в Prowlarr → Indexers → (индексер) → Torrent Base Settings → Prefer Magnet URL.
|
||
|
||
Через API:
|
||
```bash
|
||
curl -s "http://localhost:9696/prowlarr/api/v1/indexer/ID?apikey=KEY" | \
|
||
jq '(.fields[] | select(.name=="torrentBaseSettings.preferMagnetUrl") | .value) = true' | \
|
||
curl -X PUT "http://localhost:9696/prowlarr/api/v1/indexer/ID?apikey=KEY" \
|
||
-H "Content-Type: application/json" -d @-
|
||
```
|
||
|
||
Применено для индексеров: RuTracker (1), RuTor (2), Byrutor (3), NoNaMe Club (4).
|
||
|
||
## Kinozal — лимит на скачивание торрент-файлов
|
||
|
||
Kinozal (стандартный) даёт 429 на скачивание. Решение — **Kinozal (M)** (магнет-версия, definitionFile: `kinozal-magnet`). Добавлен в Prowlarr как отдельный индексер с теми же credentials. Синкается в Sonarr и Radarr через Applications.
|
||
|
||
## Индексеры — текущий состав (Prowlarr)
|
||
|
||
| ID | Имя | Тип | Примечание |
|
||
|----|-----|-----|-----------|
|
||
| 1 | RuTracker | semi-private | блокируется при rate limit на сутки |
|
||
| 2 | RuTor | public | поиск по imdbid |
|
||
| 3 | Byrutor | public | |
|
||
| 4 | NoNaMe Club | semi-private | нет логина, только анонимный |
|
||
| 5 | Kinozal | semi-private | оставлен, но Kinozal (M) предпочтительнее |
|
||
| 6 | Kinozal (M) | semi-private | магнет, без grab limit ✅ |
|
||
|
||
## Sonarr — поиск русских сериалов
|
||
|
||
Sonarr берёт название из TVDB. Для русских сериалов TVDB ставит английский перевод как primary. Prowlarr отправляет оба варианта (через `addrussian` и alternate titles), но это зависит от индексера.
|
||
|
||
**Работающий путь:** Kinozal (M) с `addrussian: true` и `stripcyrillic: false` — находит по русскому названию. Подтверждено: Кибердеревня найдена и скачана.
|
||
|
||
## Связанные заметки
|
||
|
||
- [[family/projects/media-toolbox-kraken]] — полный статус проекта
|
||
- [[tech/kraken-network]] — инфра Кракена
|