[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`
@@ -8,14 +8,14 @@
## PR Stack
| PR | Branch | Review status |
| --------------------------------------------------------------- | ---------------------------------------------------------- | ---------------------------------------------------------- |
| [#4544](https://github.com/duckduckgo/apple-browsers/pull/4544) | `demo-tracker-blocking-onboarding` | Open — review required (Alessandro + Rachel left comments) |
| [#4584](https://github.com/duckduckgo/apple-browsers/pull/4584) | `demo-tracker-blocking-onboarding-eoj-dax-animation` | **Merged** ✅ 2026-05-18 |
| [#4591](https://github.com/duckduckgo/apple-browsers/pull/4591) | `demo-tracker-blocking-onboarding-ui-polish` | **Merged** ✅ 2026-05-15 |
| [#4664](https://github.com/duckduckgo/apple-browsers/pull/4664) | `demo-tracker-blocking-onboarding-chat-path-dialog-polish` | **Merged** ✅ 2026-05-15 |
| [#4855](https://github.com/duckduckgo/apple-browsers/pull/4855) | `demo-tracker-blocking-onboarding-sr-feedback` | Open — no review yet |
| [#4668](https://github.com/duckduckgo/apple-browsers/pull/4668) | `demo-tracker-blocking-onboarding-uti-flow` | Open — no review yet |
| PR | Branch | Review status |
|---|---|---|
| [#4544](https://github.com/duckduckgo/apple-browsers/pull/4544) | `demo-tracker-blocking-onboarding` | Open — review required (Alessandro + Rachel left comments) |
| [#4584](https://github.com/duckduckgo/apple-browsers/pull/4584) | `demo-tracker-blocking-onboarding-eoj-dax-animation` | **Merged** ✅ 2026-05-18 |
| [#4591](https://github.com/duckduckgo/apple-browsers/pull/4591) | `demo-tracker-blocking-onboarding-ui-polish` | **Merged** ✅ 2026-05-15 |
| [#4664](https://github.com/duckduckgo/apple-browsers/pull/4664) | `demo-tracker-blocking-onboarding-chat-path-dialog-polish` | **Merged** ✅ 2026-05-15 |
| [#4855](https://github.com/duckduckgo/apple-browsers/pull/4855) | `demo-tracker-blocking-onboarding-sr-feedback` | Open — no review yet |
| [#4668](https://github.com/duckduckgo/apple-browsers/pull/4668) | `demo-tracker-blocking-onboarding-uti-flow` | Open — no review yet |
---
@@ -53,19 +53,19 @@
---
### 🔴 SR — Design: "Try a Search or AI chat" dialog — Remove pointer/tail
### SR — Design: "Try a Search or AI chat" dialog — Remove pointer/tail
**Source:** [Asana task 1214846580751519](https://app.asana.com/1/137249556945/project/1202406491309510/task/1214846580751519) (Ship Review: Design, May 15). Remove the bubble pointer/tail from the bottom of the "Try a Search or AI chat" dialog container since Dax is not present in this dialog.
**State:** 🔴 NOT done. Not in any PR. NOT in working tree.
**State:** ✅ Done. `tailPosition: nil` in `RebrandedContextualOnboardingDialogs+TrySearch.swift`. Committed in merged PR.
---
### 🔴 SR — Design: "You've Got This!" dialog — Remove pointer/tail
### SR — Design: "You've Got This!" dialog — Remove pointer/tail
**Source:** [Asana task 1214828145455345](https://app.asana.com/1/137249556945/project/1202406491309510/task/1214828145455345) (Ship Review: Design, May 15). Remove the bubble pointer/tail from the bottom of the "You've Got This!" EOJ dialog container since Dax is not present.
**State:** 🔴 NOT done. Not in any PR. NOT in working tree.
**State:** ✅ Done. `tailPosition: nil` in `RebrandedContextualOnboardingDialogs+EndOfJourney.swift`. In uncommitted working tree on `demo-tracker-blocking-onboarding`.
---
@@ -445,13 +445,13 @@ All resolved on GitHub. Fixed in later commits on the `#4544` branch.
---
### PR #4668 — Bugbot (MainViewController.swift:3457): Protocol method `embedInUnifiedInputEditingAreaIfActive` never called
### 🔴 PR #4668 — Bugbot (MainViewController.swift:3457): Protocol method `embedInUnifiedInputEditingAreaIfActive` never called
**Source:** Bugbot on PR #4668, `MainViewController.swift:3457`
**Issue:** Method added to `BrowserChromeDelegate` protocol and implemented, but no caller exists.
**State:** [OPEN] on GitHub. Deferred until #4544 is done — see BrowserChromeManager item below for full detail.
**State:** 🔴 [OPEN] on GitHub. Deferred until #4544 is done — see BrowserChromeManager item below for full detail.
---