[2026-05-18] kraken: добавлен media-pipeline раздел, Radarr/Sonarr/Prowlarr в таблицу контейнеров
This commit is contained in:
@@ -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.
|
||||
|
||||
---
|
||||
|
||||
|
||||
Reference in New Issue
Block a user