[2026-09-02] eagle: family/documents/vault-sync/2026-09-02-restore-privilege-scope.md family/how-to/arr-stack-taiga.md

This commit is contained in:
Alexey Martemyanov
2026-09-02 12:50:57 +06:00
parent e020382933
commit 319d674199
2 changed files with 35 additions and 1 deletions
@@ -2,7 +2,7 @@
tags: [truenas, restore, incident, git, media, arr, permission]
created: 2026-09-02
updated: 2026-09-02
status: resolved (Git-sync на маке ПОЧИНЕН 2026-09-02: NFS4 ACL DENY сняты полным dacl-заменой через filesystem.setacl; push ИДЁТ; ahead=0 behind=0). Arr-стек ПОДНЯТ и работает 2026-09-02 (prowlarr/radarr/sonarr/jellyfin Up, все под uid 950; transmission также PUID/PGID=950; сети media_net+transmission_default персистентны в compose). Осталось: фикс права на скрытые файлы корня storage (решение не подтверждено) + несвязанный library-app restart-loop
status: resolved (Git-sync на маке ПОЧИНЕН 2026-09-02: NFS4 ACL DENY сняты полным dacl-заменой через filesystem.setacl; push ИДЁТ; ahead=0 behind=0). Arr-стек ПОДНЯТ и работает 2026-09-02 (prowlarr/radarr/sonarr/jellyfin Up, все под uid 950; transmission также PUID/PGID=950; сети media_net+transmission_default персистентны в compose). ⚠️ Осталось (см. §6): jellyfin-транскодинг падает FFmpeg code 243 — конфиг /docker/arr/jellyfin вглубь 911:911, фикс `chown -R 950:950 .../jellyfin`+recreate (root, не выполнен); transmission 255 торрентов "no data found" — данные в Movies не в download-dir (ждёт решения). Плюс остаточные: скрытые файлы корня storage + несвязанный library-app restart-loop
---
# Incident 2026-09-02: Поломка прав uid 921/0000 после restore — масштаб и влияния
@@ -276,6 +276,36 @@ services:
```
(в compose НЕ было PUID/PGID → контейнер root; transmission монтирует `storage` → `/mnt/storage`, download-dir `/mnt/storage/Downloads`)
## 6. ⚠️ Пост-запуск arr-стека: 2 НЕРЕШЁННЫХ блокатора (диагноз 2026-09-02, конец сессии)
После успешного запуска стека (все контейнеры Up под 950) выявлены два REFAIL, требующих root-фикса. **Оба — артефакты того же restore-инцидента (владелец глубин конфигов/данных остался 911), НЕ перепутать с багом прав на `storage/`.**
### ⚠️ 6a. Jellyfin: FFmpeg exited with code 243 → фильмы не проигрываются
**Симптом:** веб-интерфейс jellyfin (Setup завершён, `StartupWizardCompleted:true`, библиотеки видят `/storage/Movies`, одиночные файлы читаются под 950). Но при проигрывании ПОПЫТКА транскодинга падает:
```
FFmpeg exited with code 243
ffmpeg -i file:"/storage/Movies/Snatch.x264/Snatch....mkv" -f hls -hls_segment_filename "/config/cache/transcodes/....%d.mp4"
→ jellyfin не может писать в transcode-файл
```
**Корень:** конфиг jellyfin `/mnt/RED_2TB/docker/arr/jellyfin` — при restore вглубь `/config/data`, `/config/metadata`, `/config/cache` остались **владельца 911:911** (jellyfin работает под uid 950). Например `data/data/jellyfin.db` и 11 441 файл под `data/` — владелец `911`. Jellyfin/ffmpeg под 950 не могут писать в `/config/cache/transcodes` → код 243. (Только jellyfin пострадал: у radarr/sonarr/prowlarr весь config уже `abc`=950.)
**Фикс (ROOT — НЕ выполнен Alex, ожидает команды):**
```bash
chown -R 950:950 /mnt/RED_2TB/docker/arr/jellyfin
cd /mnt/RED_2TB/docker/arr && docker compose up -d --force-recreate jellyfin
# проверка: jellyfin должен транскодить/проигрывать без FFmpeg code 243
```
> Безопасно: chown меняет только владение, даннятые БД/метаданные не трогает.
### ⚠️ 6b. Transmission: 255 торрентов "no data found" — данные перемещены в Movies, не в download-dir
**Симптом:** transmission-UI (порт 9091) открывается, но все (255) торренты показывают **No Data Found**.
**Корень (НЕ проблема прав):** transmission download-dir = `/mnt/storage/Downloads`. 255 resume-торрентов + 255 .torrent на месте (в `/docker/transmission`), daemon работает под 950, путь `/mnt/storage/Downloads` доступен, диск есть (78%). **Но сам download-dir пуст от медиа**: `find Downloads *.mkv/*.avi/*.mp4/*.iso` → **count 0**; внутри только `.nfo`, NSP-игры Switch (DK/Mario), переводы. Фильмы/контент физически **переехали в `/storage/Movies`** (257k файлов). transmission ищет файл по `<download-dir>/<имя-торрента>`, там пусто → No Data Found. Это состояние после импорта/миграции (торренты завершены, контент в библиотеке) — НЕ поломка прав. RPC недоступен извне: `403 Forbidden` на loopback и `401` при неправильных creds; whitelist = `172.16.*.*`.
**Требует решения Alex**, что сделать с 255 orphan-seed передач:
- либо удалить их из transmission (если сидирование не нужно),
- либо указать transmission актуальное расположение (файлы в Movies),
- НЕ нужно «чинить права» — их там уже нет проблемы.
---
## Связанные заметки
- [[2026-08-31-syncthing-truenas-incident]] — вызвавший инцидент + фикс syncthing
- [[arr-stack-taiga]] — acquisition-стек на TrueNAS
+4
View File
@@ -15,6 +15,10 @@ Secondary arr stack on Taiga (TrueNAS), added 2026-05-20.
> **STATE 2026-09-02 (end-of-session):** Стек **ПОДНЯТ И РАБОТАЕТ** ✅. `docker compose up -d` в `/mnt/RED_2TB/docker/arr` создал и запустил `prowlarr`, `radarr`, `sonarr`, `jellyfin` (все в проекте `arr`, процессы под **uid 950** — PUID/PGID=950 применён). Сеть `media_net` воссоздана (`docker network create media_net`), transmission подключён к `media_net`. **Персистентность сетей:** в `docker/transmission/docker-compose.yml` добавлена networks секция `media_net` + `transmission_default` (external) — transmission сам находится в обеих сетях при любом пересоздании.
>
> **⚠️ Два НЕРЕШЁННЫХ пост-запуска блокатора (2026-09-02 конец):**
> 1. **Jellyfin не проигрывает** — транскодинг падает `FFmpeg exited with code 243`, т.к. в конфиге `/mnt/RED_2TB/docker/arr/jellyfin` вглубь `/config/data`, `/config/cache`, `/config/metadata` остались владельца **911:911** (11,441 файлов), а jellyfin работает под 950 → не пишет transcodes. Фикс (root): `chown -R 950:950 /mnt/RED_2TB/docker/arr/jellyfin && cd /mnt/RED_2TB/docker/arr && docker compose up -d --force-recreate jellyfin`.
> 2. **Transmission 255 торрентов "no data found"** — данные скачаны в `/storage/Movies`, а download-dir у transmission `/mnt/storage/Downloads` (там медиа нет). Это не ошибка прав; ждёт решения (удалить orphan seed или направить на актуальное расположение).
>
> **Почему стек изначально не запускался — медиа-права были сломаны** (тот же restore-инцидент uid 921/0000): `/mnt/RED_2TB/storage/{Movies,Cartoons,Downloads,Music,series,shared}` были `d---------`/`drwx------`, owner `transmission` (uid 921). radarr/sonarr монтируют `/storage` (rw), jellyfin `:ro` — со сломанными правами не прочитали бы библиотеку. ✅ **Права медиа ИСПРАВЛЕНЫ** (2026-09-02) до `950:950 drwxrwx---`; контейнеры arr/jellyfin затем подняты и запущены. Полный контекст и команды: `family/documents/vault-sync/2026-09-02-restore-privilege-scope.md`.
> **Docker-image facts (2026-09-02):** All 5 media images **loaded locally** on TrueNAS (`docker images`): `lscr.io/linuxserver/{radarr,sonarr,jellyfin,transmission,prowlarr}:latest`. All containers now exist and run under **uid 950**. Was: transmission container existed (now running as uid 950); jellyfin/radarr/sonarr/prowlarr containers were NOT yet created — now they are (PUID/PGID=950).