[2026-05-18] kraken: добавлен media-pipeline раздел, Radarr/Sonarr/Prowlarr в таблицу контейнеров

This commit is contained in:
Alexey Martemyanov
2026-05-18 22:52:38 +06:00
parent 90c2b89fcf
commit 929a6f6fe4
2 changed files with 69 additions and 14 deletions
+55
View File
@@ -192,6 +192,9 @@ sudo usermod -aG docker kraken < /dev/null
| Home Assistant | `/home/kraken/homeassistant/` | :8123 | HDD/docker/homeassistant |
| Jellyfin | `/home/kraken/media/` | :8096 | HDD/docker/jellyfin, media:ro |
| Transmission | `/home/kraken/media/` | :9091 | HDD/docker/transmission, HDD/media/downloads |
| Prowlarr | `/home/kraken/radarr/` | :9696 | HDD/docker/prowlarr |
| Radarr | `/home/kraken/radarr/` | :7878 | HDD/docker/radarr, media:rw |
| Sonarr | `/home/kraken/radarr/` | :8989 | HDD/docker/sonarr, media:rw |
| Rclone | `/home/kraken/rclone/` | — | cron воскр. 03:00 → mailru-crypt:kraken/docker |
Управление:
@@ -206,6 +209,58 @@ cd /home/kraken/<name> && sudo docker compose pull && sudo docker compose up -d
---
## Media pipeline — Transmission hook + PGS→SRT
**Статус: ✅ (2026-05-18)**
### Схема
```
Transmission → on-download-complete.sh → media-pipeline:kraken sync (NFO, библиотека)
→ pgs-to-srt.sh (PGS субтитры → SRT)
```
### Файлы
```
HDD/docker/media-pipeline/
on-download-complete.sh — монтирован в Transmission как /config/on-download-complete.sh (ro)
pgs-to-srt.sh — конвертация PGS→SRT через pgsrip
config.json — конфиг media-pipeline
download-complete.log — лог загрузок
pgs-to-srt.log — лог конвертации
```
### on-download-complete.sh
Запускается Transmission синхронно при завершении загрузки (`script-torrent-done-filename`).
Получает `TR_TORRENT_DIR` и `TR_TORRENT_NAME` — пути **внутри контейнера** (`/downloads/...`).
Вызывает `pgs-to-srt.sh` с путём `/downloads/complete/radarr/...` — скрипт сам переводит в хостовый путь.
> ⚠️ Скрипт выполняется **внутри контейнера Transmission** — хостовые пути недоступны напрямую.
> `/downloads` → `HDD/media/downloads`, `/media` → `HDD/media` смонтированы в контейнере.
> Не вызывать бинарники с хостовых путей (`$HDD/...`) — они недоступны внутри контейнера.
### pgs-to-srt.sh
- Живёт на **хосте** (`HDD/docker/media-pipeline/`), вызывается из `on-download-complete.sh`
- Использует `mkvmerge -i` для детекции PGS/VobSub (быстрее `mkvinfo`)
- PGS → `~/.local/bin/pgsrip -l ru -l en`
- VobSub → `SKIP` (не реализовано)
- Маркер `.sub-checked` рядом с mkv — пропускать уже проверенные файлы при bulk-скане
- Флаг `-l ru -l en` (два отдельных флага, не через запятую!)
### Библиотека субтитров (итог скана 2026-05-18)
| Папка | Тип | Статус |
|-------|-----|--------|
| documentaries/пингвины. шпион в толпе (3 файла) | HDMV PGS | ✅ .ru.srt + .en.srt |
| documentaries/жизнь птиц 1998 (10 файлов) | VobSub | ❌ не конвертированы |
| Всё остальное | SRT внутри mkv | ✅ транскода нет |
### Remote path mapping (Radarr/Sonarr)
Transmission пишет в `/downloads/complete/{radarr,sonarr}/...` (внутри контейнера).
Radarr/Sonarr видят файлы через `/media/downloads/...`.
Маппинг добавлен: `host=transmission, remotePath=/downloads/, localPath=/media/downloads/`.
---
## Шаг 9 — Time Machine share
Контейнер: `mbentley/timemachine:smb`