Files
felhom.eu/REPORT-media-all-drives-2026-10-14.md
T

7.2 KiB
Raw Blame History

S1–S3 pushed; the live-fix task may start. (Restored at the top 2026-10-14 ~21:20: the final-report edit had pushed it down. The live fix is done — REPORT-media-folder-fix-2026-10-14.md.)

Parts A–E done. Waiting on the operator: the layout decision (STATUS D9) and the teardown word (R-1022). Read before the live fix: media/ also holds photos (15 §2); removal deletes literal binds (R-1027, R-1032).

Media apps on every drive — Tester 1 rig (2026-10-14)

Evidence: documentation/audits/media-all-drives-2026-10-14/README.md (one row per part).

In plain words

  1. The chain works with the new folder layout. A film went from the download app to the library on the same drive as one file with two names. No extra copy. Through both download apps.
  2. Today's layout cannot work. The download apps save where Sonarr and Radarr never look. And even with the same folders, two separate mounts force a full copy. Measured.
  3. Each film can go to its own drive by a tag. A wrong tag still works, but makes a full copy across drives.
  4. No test film reached any backup. Proven three ways before the first download.
  5. A power cut hit Tester 1 at 17:25. It came from another session's test on the HP box. Tester 1 came back by itself.

Claims in the task that turned out wrong

  • „media/ only keeps photos and documents out of these apps' reach" — media/ holds photos, books, audiobooks and more in the skeleton. Documents are outside it; photos are not.
  • R-615: removing the cache is no longer needed (a changed repo_url re-clones, seen live).
  • The /media/shows copy is in Plex too, not only Sonarr and Jellyfin (R-1015).

Register

Rows before 133 → after 146 (another session added R-1020, R-1021 and closed R-1007 meanwhile) · opened 12 (R-1014..R-1027, R-1022..R-1026) · closed 0.

Part D (Plex, the sheet)

  • Plex behind the tunnel: the drill template now sets ADVERTISE_IP=https://plex.<domain>:443/. A throwaway unclaimed Plex read it back as customConnections; public /identity and /web 200; anonymous library calls 401. Removed.
  • The removal of that Plex deleted drive A's whole userdata/media (80 KB empty skeleton) — R-1027. Rebuilt by the controller's file-browser sync; torrents/ and transmission/ re-made by hand with the skeleton's owner and mode (the drill templates no longer declare them); the four apps stopped and started through the dashboard.
  • The dashboard's „restart" restarts nothing (R-1026) — found while repairing.
  • Decisions in 09 §3: 237–241 (the operator's rulings of 2026-10-14, recorded).
  • Design note architecture/15-media-library.md — DRAFT, §5 pending S5/S6. Listed in documentation/README.md.
  • No CHANGELOG entry: felhom.eu's CHANGELOGs are per area (hub, scripts, website, marketing); this session changed none of them.

Follow-up (operator, 18:20): Prowlarr, the sign-in check, five rows

  • Prowlarr added to the drill catalog (config volume only) and installed through the dashboard; wire.py connects it to Sonarr and Radarr („Full Sync”, calls logged in H-wire-run3-prowlarr.txt). No indexer yet, so nothing was pushed. FlareSolverr not added: no indexer has asked for it.
  • Sign-in check from the public path, no login: outsiders ARE asked to sign in (two channels: qBittorrent logged the public address the tunnel delivers; Sonarr/Radarr redirect a request with that header to /login). No row for an outside bypass. The home network and other containers get in without sign-in — part of R-1030.
  • Rows filed: R-1028 (Plex claim runs out), R-1029 (identical „media” folders in Plex), R-1030 (first admin defaults to „Enabled”), R-1031 (no drive question for media apps), R-1032 (delete safety list names the old layout).
  • Register: 146 → 151 (opened 5, closed 0).

Follow-up (operator, 18:40): nCore, the login pages

  • The operator's indexer (nCore, private) reached Sonarr and Radarr through Prowlarr's „Full Sync": both now hold „nCore (Prowlarr)" (Torznab, RSS and automatic search on, priority 25). Read back by API.
  • Sonarr, Radarr and Prowlarr are past the setup gate: their public / goes to their own /login.
  • *New: the boxes answer plain http://, login pages included; the arr sign-in redirect is http:// — R-1033.
  • Prowlarr download clients: not added. They serve only searches started inside Prowlarr (its own page says so); Sonarr and Radarr use their own entries.
  • Register: 151 → 152 (opened 1).

Final report — plain words

  1. Does the chain work? Yes. A download reaches the library as one file with two names, no extra copy — through qBittorrent and Transmission, on both drives (S1, S2, and the operator's 13 imports). Today's live layout cannot work: the folders do not meet, and two separate mounts force a full copy (S1).
  2. Can each show go to its own drive? Yes, by the tag. A wrong tag still works, but makes a full copy on the other drive while the first copy seeds (S3; the operator's Slow Horses and „Who"). A show with no tag does not download.
  3. The operator's test, per show: Avatar → A, hardlinks. American Horror Story → B, hardlinks. Hope → A, hardlink. Matchbox → B, hardlink. Slow Horses (root B, tag A) → downloaded on A, copied to B. Who (root B, tag A) → downloaded on A by Transmission, copied to B.
  4. A disk pulled / back: the box marks it, mails the hub in 24 s, and stops nothing; the apps see a dead disk, do not crash, and Plex/Jellyfin remove nothing in 30 min. When it comes back, NOTHING sees it until each app is stopped and started — the dashboard's restart does nothing, and FileBrowser cannot be restarted at all. So yes: „restart" must also cover „a drive came back".
  5. Backups: proven before the first download that no test media can reach any backup tier (three proofs, A6).
  6. What the build must do (from 15): bind each drive's library at the same path for the media apps, without a drive question; keep the download apps away from photos (decision D9); tell the household after a drive is added, removed or comes back, and restart for real (stop+start, FileBrowser included); set the tag from the drive choice and wire Prowlarr/Sonarr/Radarr/the download apps by script; never let a removal delete the shared library.
  7. Claims in the brief that were wrong: „media/ keeps photos out" (photos live in media/); „cache removal still needed" (R-615 closed; a changed URL re-clones); „/media/shows in Sonarr and Jellyfin" (Plex too); „anything writes onto the guest rootfs" when a disk is pulled (no — the guest keeps a dead mount instead, which is its own fault).
  8. Waiting on the operator: decision D9 (layout); the teardown word (R-1022, six steps). Register 133 → 156 over the session; this session opened 20 rows (R-1014..R-1019, R-1022..R-1033, R-1037, R-1038), closed 0; other sessions added and closed rows in between.

Teardown so far: nothing torn down — the rig stays until the operator's word (ruling (e)). Machine: Tester 1 carries two test drives, six media apps + Prowlarr, the drill mirror. Host: demo-hp carries VM 341's scsi2/scsi3. Hub: no change (read only).