Media all drives, E1: the operator's test — 18 imports, 13 hardlinks on the right drive, the mismatch copied (5 episodes); Plex never scans by itself (row filed)
gates / gates (push) Successful in 6m40s

This commit is contained in:
2026-10-14 19:18:37 +02:00
parent be4d35f56a
commit b62ca1e0eb
8 changed files with 312 additions and 1 deletions
@@ -0,0 +1,26 @@
== sonarr: 16 import(s)
series Avatar: Seven Havens: root=media_a tags=['drive-a']
series American Horror Story: root=media_b tags=['drive-b']
series Slow Horses: root=media_b tags=['drive-a']
Avatar: Seven Havens Avatar.Seven.Havens.S01E02.1080p.WEB.h264-GRAC client=Transmission drive-a download=media_a library=media_a HARDLINK
Avatar: Seven Havens Avatar.Seven.Havens.S01E01.1080p.WEB.h264-GRAC client=qBittorrent drive-a download=media_a library=media_a HARDLINK
American Horror Story American.Horror.Story.S13E05.1080p.DSNP.WEB-DL client=qBittorrent drive-b download=media_b library=media_b HARDLINK
Avatar: Seven Havens Avatar.Seven.Havens.S01E03.1080p.WEB.h264-GRAC client=qBittorrent drive-a download=media_a library=media_a HARDLINK
American Horror Story American.Horror.Story.S13E04.1080p.DSNP.WEB-DL client=Transmission drive-b download=media_b library=media_b HARDLINK
American Horror Story American.Horror.Story.S13E03.1080p.DSNP.WEB-DL client=qBittorrent drive-b download=media_b library=media_b HARDLINK
American Horror Story American.Horror.Story.S13E07.1080p.DSNP.WEB-DL client=qBittorrent drive-b download=media_b library=media_b HARDLINK
American Horror Story American.Horror.Story.S13E01.1080p.DSNP.WEB-DL client=qBittorrent drive-b download=media_b library=media_b HARDLINK
American Horror Story American.Horror.Story.S13E02.1080p.DSNP.WEB-DL client=Transmission drive-b download=media_b library=media_b HARDLINK
American Horror Story American.Horror.Story.S13E08.1080p.DSNP.WEB-DL client=Transmission drive-b download=media_b library=media_b HARDLINK
American Horror Story American.Horror.Story.S13E06.1080p.DSNP.WEB-DL client=Transmission drive-b download=media_b library=media_b HARDLINK
Slow Horses Slow.Horses.S06E05.Sayonara.1080p.ATVP.WEB-DL. client=qBittorrent drive-a download=media_a library=media_b COPY
Slow Horses Slow.Horses.S06E02.PROPER.1080p.WEB.h264-ETHEL client=qBittorrent drive-a download=media_a library=media_b COPY
Slow Horses Slow.Horses.S06E03.1080p.WEB.H264-CAKES.mkv client=qBittorrent drive-a download=media_a library=media_b COPY
Slow Horses Slow.Horses.S06E01.1080p.WEB.H264-CAKES.mkv client=Transmission drive-a download=media_a library=media_b COPY
Slow Horses Slow.Horses.S06E04.1080p.WEB.H264-CAKES.mkv client=Transmission drive-a download=media_a library=media_b COPY
== radarr: 2 import(s)
movie Hope: root=media_a tags=['drive-a']
movie Matchbox the Movie: root=media_b tags=['drive-b']
Hope Hope.2026.720p.AMZN.WEB-DL.DDP5.1.Atmos.H.264- client=qBittorrent drive-a download=media_a library=media_a HARDLINK
Matchbox the Movie Matchbox.The.Movie.2026.720p.ATVP.WEB-DL.DDP5. client=qBittorrent drive-b download=media_b library=media_b HARDLINK
@@ -0,0 +1,96 @@
== drive adatlemez (/mnt/felhom-drives/adatlemez/userdata/media)
== drive media_a (/mnt/felhom-drives/media_a/userdata/media)
-- movies/ (1 file(s))
4697.5 MB links=2 inode=4194391 movies/Hope (2026)/Hope.2026.720p.AMZN.WEB-DL.DDP5.1.Atmos.H.264-N1H4L.mkv
-- torrents/ (16 file(s))
909.5 MB links=2 inode=4194364 torrents/tv/Avatar.Seven.Havens.S01E01.1080p.WEB.h264-GRACE/Avatar.Seven.Havens.S01E01.1080p.WEB.h264-GRACE.mkv
0.0 MB links=1 inode=4194376 torrents/tv/Avatar.Seven.Havens.S01E01.1080p.WEB.h264-GRACE/avatar.seven.havens.s01e01.1080p.web.h264-grace.nfo
35.2 MB links=1 inode=4194366 torrents/tv/Avatar.Seven.Havens.S01E01.1080p.WEB.h264-GRACE/Sample/avatar.seven.havens.s01e01.1080p.web.h264-grace.sample.mkv
3789.5 MB links=1 inode=4194398 torrents/tv/Slow.Horses.S06E05.Sayonara.1080p.ATVP.WEB-DL.DDP5.1.H.264-NTb/Slow.Horses.S06E05.Sayonara.1080p.ATVP.WEB-DL.DDP5.1.H.264-NTb.mkv
0.0 MB links=1 inode=4194400 torrents/tv/Slow.Horses.S06E05.Sayonara.1080p.ATVP.WEB-DL.DDP5.1.H.264-NTb/Slow.Horses.S06E05.Sayonara.1080p.ATVP.WEB-DL.DDP5.1.H.264-NTb.nfo
3931.2 MB links=1 inode=4194385 torrents/tv/Slow.Horses.S06E03.1080p.WEB.H264-CAKES/slow.horses.s06e03.1080p.web.h264-cakes.mkv
0.0 MB links=1 inode=4194367 torrents/tv/Slow.Horses.S06E03.1080p.WEB.H264-CAKES/slow.horses.s06e03.1080p.web.h264-cakes.nfo
85.8 MB links=1 inode=4194392 torrents/tv/Slow.Horses.S06E03.1080p.WEB.H264-CAKES/Sample/slow.horses.s06e03.1080p.web.h264-cakes-sample.mkv
0.0 MB links=1 inode=4194397 torrents/tv/Slow.Horses.S06E02.PROPER.1080p.WEB.h264-ETHEL/slow.horses.s06e02.proper.1080p.web.h264-ethel.nfo
3758.3 MB links=1 inode=4194369 torrents/tv/Slow.Horses.S06E02.PROPER.1080p.WEB.h264-ETHEL/Slow.Horses.S06E02.PROPER.1080p.WEB.h264-ETHEL.mkv
77.7 MB links=1 inode=4194383 torrents/tv/Slow.Horses.S06E02.PROPER.1080p.WEB.h264-ETHEL/Sample/slow.horses.s06e02.proper.1080p.web.h264-ethel.sample.mkv
720.3 MB links=2 inode=4194368 torrents/tv/Avatar.Seven.Havens.S01E03.1080p.WEB.h264-GRACE/Avatar.Seven.Havens.S01E03.1080p.WEB.h264-GRACE.mkv
0.0 MB links=1 inode=4194377 torrents/tv/Avatar.Seven.Havens.S01E03.1080p.WEB.h264-GRACE/avatar.seven.havens.s01e03.1080p.web.h264-grace.nfo
21.7 MB links=1 inode=4194370 torrents/tv/Avatar.Seven.Havens.S01E03.1080p.WEB.h264-GRACE/Sample/avatar.seven.havens.s01e03.1080p.web.h264-grace.sample.mkv
0.0 MB links=1 inode=4194405 torrents/movies/Hope.2026.720p.AMZN.WEB-DL.DDP5.1.Atmos.H.264-N1H4L/Hope.2026.720p.AMZN.WEB-DL.DDP5.1.Atmos.H.264-N1H4L.nfo
4697.5 MB links=2 inode=4194391 torrents/movies/Hope.2026.720p.AMZN.WEB-DL.DDP5.1.Atmos.H.264-N1H4L/Hope.2026.720p.AMZN.WEB-DL.DDP5.1.Atmos.H.264-N1H4L.mkv
-- transmission/ (9 file(s))
4039.9 MB links=1 inode=4194396 transmission/tv/Slow.Horses.S06E04.1080p.WEB.H264-CAKES/slow.horses.s06e04.1080p.web.h264-cakes.mkv
0.0 MB links=1 inode=4194399 transmission/tv/Slow.Horses.S06E04.1080p.WEB.H264-CAKES/slow.horses.s06e04.1080p.web.h264-cakes.nfo
94.2 MB links=1 inode=4194395 transmission/tv/Slow.Horses.S06E04.1080p.WEB.H264-CAKES/Sample/slow.horses.s06e04.1080p.web.h264-cakes-sample.mkv
3859.1 MB links=1 inode=4194387 transmission/tv/Slow.Horses.S06E01.1080p.WEB.H264-CAKES/slow.horses.s06e01.1080p.web.h264-cakes.mkv
0.0 MB links=1 inode=4194388 transmission/tv/Slow.Horses.S06E01.1080p.WEB.H264-CAKES/slow.horses.s06e01.1080p.web.h264-cakes.nfo
104.1 MB links=1 inode=4194390 transmission/tv/Slow.Horses.S06E01.1080p.WEB.H264-CAKES/Sample/slow.horses.s06e01.1080p.web.h264-cakes-sample.mkv
0.0 MB links=1 inode=4194374 transmission/tv/Avatar.Seven.Havens.S01E02.1080p.WEB.h264-GRACE/avatar.seven.havens.s01e02.1080p.web.h264-grace.nfo
829.6 MB links=2 inode=4194375 transmission/tv/Avatar.Seven.Havens.S01E02.1080p.WEB.h264-GRACE/Avatar.Seven.Havens.S01E02.1080p.WEB.h264-GRACE.mkv
31.2 MB links=1 inode=4194373 transmission/tv/Avatar.Seven.Havens.S01E02.1080p.WEB.h264-GRACE/Sample/avatar.seven.havens.s01e02.1080p.web.h264-grace.sample.mkv
-- tv/ (3 file(s))
909.5 MB links=2 inode=4194364 tv/Avatar - Seven Havens/Season 1/Avatar.Seven.Havens.S01E01.1080p.WEB.h264-GRACE.mkv
720.3 MB links=2 inode=4194368 tv/Avatar - Seven Havens/Season 1/Avatar.Seven.Havens.S01E03.1080p.WEB.h264-GRACE.mkv
829.6 MB links=2 inode=4194375 tv/Avatar - Seven Havens/Season 1/Avatar.Seven.Havens.S01E02.1080p.WEB.h264-GRACE.mkv
== drive media_b (/mnt/felhom-drives/media_b/userdata/media)
-- movies/ (1 file(s))
3393.8 MB links=2 inode=1048578 movies/Matchbox the Movie (2026)/Matchbox.The.Movie.2026.720p.ATVP.WEB-DL.DDP5.1.Atmos.H.264-FLUX.mkv
-- torrents/ (10 file(s))
3393.8 MB links=2 inode=1048578 torrents/movies/Matchbox.The.Movie.2026.720p.ATVP.WEB-DL.DDP5.1.Atmos.H.264-FLUX/Matchbox.The.Movie.2026.720p.ATVP.WEB-DL.DDP5.1.Atmos.H.264-FLUX.mkv
0.0 MB links=1 inode=1048579 torrents/movies/Matchbox.The.Movie.2026.720p.ATVP.WEB-DL.DDP5.1.Atmos.H.264-FLUX/Matchbox.The.Movie.2026.720p.ATVP.WEB-DL.DDP5.1.Atmos.H.264-FLUX.nfo
0.0 MB links=1 inode=131101 torrents/tv/American.Horror.Story.S13E01.1080p.DSNP.WEB-DL.DDP5.1.H.264-PlayWEB/American.Horror.Story.S13E01.1080p.DSNP.WEB-DL.DDP5.1.H.264-PlayWEB.nfo
1314.1 MB links=2 inode=131100 torrents/tv/American.Horror.Story.S13E01.1080p.DSNP.WEB-DL.DDP5.1.H.264-PlayWEB/American.Horror.Story.S13E01.13.1080p.DSNP.WEB-DL.DD5.1.H.264-playWEB.mkv
813.6 MB links=2 inode=131110 torrents/tv/American.Horror.Story.S13E03.1080p.DSNP.WEB-DL.DDP5.1.H.264-PlayWEB/American.Horror.Story.S13E03.Rauhnacht.1080p.DSNP.WEB-DL.DD5.1.H.264-playWEB.mkv
0.0 MB links=1 inode=131113 torrents/tv/American.Horror.Story.S13E03.1080p.DSNP.WEB-DL.DDP5.1.H.264-PlayWEB/American.Horror.Story.S13E03.1080p.DSNP.WEB-DL.DDP5.1.H.264-PlayWEB.nfo
956.5 MB links=2 inode=393221 torrents/tv/American.Horror.Story.S13E07.1080p.DSNP.WEB-DL.DDP5.1.H.264-PlayWEB/American.Horror.Story.S13E07.The.Baddest.Witch.of.Them.All.1080p.DSNP.WEB-DL.DD5.1.H.264-playWEB.mkv
0.0 MB links=1 inode=393223 torrents/tv/American.Horror.Story.S13E07.1080p.DSNP.WEB-DL.DDP5.1.H.264-PlayWEB/American.Horror.Story.S13E07.1080p.DSNP.WEB-DL.DDP5.1.H.264-PlayWEB.nfo
969.7 MB links=2 inode=393218 torrents/tv/American.Horror.Story.S13E05.1080p.DSNP.WEB-DL.DDP5.1.H.264-PlayWEB/American.Horror.Story.S13E05.Date.Night.1080p.DSNP.WEB-DL.DD5.1.H.264-playWEB.mkv
0.0 MB links=1 inode=393220 torrents/tv/American.Horror.Story.S13E05.1080p.DSNP.WEB-DL.DDP5.1.H.264-PlayWEB/American.Horror.Story.S13E05.Date.Night.1080p.DSNP.WEB-DL.DD5.1.H.264-playWEB.nfo
-- transmission/ (8 file(s))
1274.2 MB links=2 inode=131103 transmission/tv/American.Horror.Story.S13E02.1080p.DSNP.WEB-DL.DDP5.1.H.264-PlayWEB/American.Horror.Story.S13E02.1.13.AM.1080p.DSNP.WEB-DL.DD5.1.H.264-playWEB.mkv
0.0 MB links=1 inode=131104 transmission/tv/American.Horror.Story.S13E02.1080p.DSNP.WEB-DL.DDP5.1.H.264-PlayWEB/American.Horror.Story.S13E02.1080p.DSNP.WEB-DL.DDP5.1.H.264-PlayWEB.nfo
1164.1 MB links=2 inode=131107 transmission/tv/American.Horror.Story.S13E04.1080p.DSNP.WEB-DL.DDP5.1.H.264-PlayWEB/American.Horror.Story.S13E04.Is.That.All.There.Is.1080p.DSNP.WEB-DL.DD5.1.H.264-playWEB.mkv
0.0 MB links=1 inode=131108 transmission/tv/American.Horror.Story.S13E04.1080p.DSNP.WEB-DL.DDP5.1.H.264-PlayWEB/American.Horror.Story.S13E04.Is.That.All.There.Is.1080p.DSNP.WEB-DL.DD5.1.H.264-playWEB.nfo
1149.4 MB links=2 inode=262146 transmission/tv/American.Horror.Story.S13E08.1080p.DSNP.WEB-DL.DDP5.1.H.264-PlayWEB/American.Horror.Story.S13E08.Hell.No.1080p.DSNP.WEB-DL.DD5.1.H.264-playWEB.mkv
0.0 MB links=1 inode=262147 transmission/tv/American.Horror.Story.S13E08.1080p.DSNP.WEB-DL.DDP5.1.H.264-PlayWEB/American.Horror.Story.S13E08.1080p.DSNP.WEB-DL.DDP5.1.H.264-PlayWEB.nfo
913.5 MB links=2 inode=131112 transmission/tv/American.Horror.Story.S13E06.1080p.DSNP.WEB-DL.DDP5.1.H.264-PlayWEB/American.Horror.Story.S13E06.The.Return.of.Devils.Night.1080p.DSNP.WEB-DL.DD5.1.H.264-playWEB.mkv
0.0 MB links=1 inode=131114 transmission/tv/American.Horror.Story.S13E06.1080p.DSNP.WEB-DL.DDP5.1.H.264-PlayWEB/American.Horror.Story.S13E06.The.Return.of.Devils.Night.1080p.DSNP.WEB-DL.DD5.1.H.264-playWEB.nfo
-- tv/ (13 file(s))
1164.1 MB links=2 inode=131107 tv/American Horror Story/Season 13/American.Horror.Story.S13E04.1080p.DSNP.WEB-DL.DDP5.1.H.264-PlayWEB.mkv
1314.1 MB links=2 inode=131100 tv/American Horror Story/Season 13/American.Horror.Story.S13E01.1080p.DSNP.WEB-DL.DDP5.1.H.264-PlayWEB.mkv
913.5 MB links=2 inode=131112 tv/American Horror Story/Season 13/American.Horror.Story.S13E06.1080p.DSNP.WEB-DL.DDP5.1.H.264-PlayWEB.mkv
956.5 MB links=2 inode=393221 tv/American Horror Story/Season 13/American.Horror.Story.S13E07.1080p.DSNP.WEB-DL.DDP5.1.H.264-PlayWEB.mkv
813.6 MB links=2 inode=131110 tv/American Horror Story/Season 13/American.Horror.Story.S13E03.1080p.DSNP.WEB-DL.DDP5.1.H.264-PlayWEB.mkv
1274.2 MB links=2 inode=131103 tv/American Horror Story/Season 13/American.Horror.Story.S13E02.1080p.DSNP.WEB-DL.DDP5.1.H.264-PlayWEB.mkv
969.7 MB links=2 inode=393218 tv/American Horror Story/Season 13/American.Horror.Story.S13E05.1080p.DSNP.WEB-DL.DDP5.1.H.264-PlayWEB.mkv
1149.4 MB links=2 inode=262146 tv/American Horror Story/Season 13/American.Horror.Story.S13E08.1080p.DSNP.WEB-DL.DDP5.1.H.264-PlayWEB.mkv
3789.5 MB links=1 inode=524295 tv/Slow Horses/Season 6/Slow.Horses.S06E05.Sayonara.1080p.ATVP.WEB-DL.DDP5.1.H.264-NTb.mkv
3859.1 MB links=1 inode=524298 tv/Slow Horses/Season 6/Slow.Horses.S06E01.1080p.WEB.H264-CAKES.mkv
4039.9 MB links=1 inode=524299 tv/Slow Horses/Season 6/Slow.Horses.S06E04.1080p.WEB.H264-CAKES.mkv
3758.3 MB links=1 inode=524296 tv/Slow Horses/Season 6/Slow.Horses.S06E02.PROPER.1080p.WEB.h264-ETHEL.mkv
3931.2 MB links=1 inode=524297 tv/Slow Horses/Season 6/Slow.Horses.S06E03.1080p.WEB.H264-CAKES.mkv
== 61 file(s) on 3 drive(s)
== ONE FILE, TWO NAMES (hardlink — no extra copy):
drive media_a inode 4194391 (4697.5 MB): movies/…/Hope.2026.720p.AMZN.WEB-DL.DDP5.1.Atmos.H.264-N1H4L.mkv <-> torrents/…/Hope.2026.720p.AMZN.WEB-DL.DDP5.1.Atmos.H.264-N1H4L.mkv
drive media_a inode 4194364 (909.5 MB): torrents/…/Avatar.Seven.Havens.S01E01.1080p.WEB.h264-GRACE.mkv <-> tv/…/Avatar.Seven.Havens.S01E01.1080p.WEB.h264-GRACE.mkv
drive media_a inode 4194368 (720.3 MB): torrents/…/Avatar.Seven.Havens.S01E03.1080p.WEB.h264-GRACE.mkv <-> tv/…/Avatar.Seven.Havens.S01E03.1080p.WEB.h264-GRACE.mkv
drive media_a inode 4194375 (829.6 MB): transmission/…/Avatar.Seven.Havens.S01E02.1080p.WEB.h264-GRACE.mkv <-> tv/…/Avatar.Seven.Havens.S01E02.1080p.WEB.h264-GRACE.mkv
drive media_b inode 1048578 (3393.8 MB): movies/…/Matchbox.The.Movie.2026.720p.ATVP.WEB-DL.DDP5.1.Atmos.H.264-FLUX.mkv <-> torrents/…/Matchbox.The.Movie.2026.720p.ATVP.WEB-DL.DDP5.1.Atmos.H.264-FLUX.mkv
drive media_b inode 131100 (1314.1 MB): torrents/…/American.Horror.Story.S13E01.13.1080p.DSNP.WEB-DL.DD5.1.H.264-playWEB.mkv <-> tv/…/American.Horror.Story.S13E01.1080p.DSNP.WEB-DL.DDP5.1.H.264-PlayWEB.mkv
drive media_b inode 131110 (813.6 MB): torrents/…/American.Horror.Story.S13E03.Rauhnacht.1080p.DSNP.WEB-DL.DD5.1.H.264-playWEB.mkv <-> tv/…/American.Horror.Story.S13E03.1080p.DSNP.WEB-DL.DDP5.1.H.264-PlayWEB.mkv
drive media_b inode 393221 (956.5 MB): torrents/…/American.Horror.Story.S13E07.The.Baddest.Witch.of.Them.All.1080p.DSNP.WEB-DL.DD5.1.H.264-playWEB.mkv <-> tv/…/American.Horror.Story.S13E07.1080p.DSNP.WEB-DL.DDP5.1.H.264-PlayWEB.mkv
drive media_b inode 393218 (969.7 MB): torrents/…/American.Horror.Story.S13E05.Date.Night.1080p.DSNP.WEB-DL.DD5.1.H.264-playWEB.mkv <-> tv/…/American.Horror.Story.S13E05.1080p.DSNP.WEB-DL.DDP5.1.H.264-PlayWEB.mkv
drive media_b inode 131103 (1274.2 MB): transmission/…/American.Horror.Story.S13E02.1.13.AM.1080p.DSNP.WEB-DL.DD5.1.H.264-playWEB.mkv <-> tv/…/American.Horror.Story.S13E02.1080p.DSNP.WEB-DL.DDP5.1.H.264-PlayWEB.mkv
drive media_b inode 131107 (1164.1 MB): transmission/…/American.Horror.Story.S13E04.Is.That.All.There.Is.1080p.DSNP.WEB-DL.DD5.1.H.264-playWEB.mkv <-> tv/…/American.Horror.Story.S13E04.1080p.DSNP.WEB-DL.DDP5.1.H.264-PlayWEB.mkv
drive media_b inode 262146 (1149.4 MB): transmission/…/American.Horror.Story.S13E08.Hell.No.1080p.DSNP.WEB-DL.DD5.1.H.264-playWEB.mkv <-> tv/…/American.Horror.Story.S13E08.1080p.DSNP.WEB-DL.DDP5.1.H.264-PlayWEB.mkv
drive media_b inode 131112 (913.5 MB): transmission/…/American.Horror.Story.S13E06.The.Return.of.Devils.Night.1080p.DSNP.WEB-DL.DD5.1.H.264-playWEB.mkv <-> tv/…/American.Horror.Story.S13E06.1080p.DSNP.WEB-DL.DDP5.1.H.264-PlayWEB.mkv
13 pair(s)
== LIBRARY FILES WITH LINK COUNT 1 (a copy, or its download is gone):
drive media_b: media_b/userdata/media/tv/Slow Horses/Season 6/Slow.Horses.S06E05.Sayonara.1080p.ATVP.WEB-DL.DDP5.1.H.264-NTb.mkv (3789.5 MB)
drive media_b: media_b/userdata/media/tv/Slow Horses/Season 6/Slow.Horses.S06E01.1080p.WEB.H264-CAKES.mkv (3859.1 MB)
drive media_b: media_b/userdata/media/tv/Slow Horses/Season 6/Slow.Horses.S06E04.1080p.WEB.H264-CAKES.mkv (4039.9 MB)
drive media_b: media_b/userdata/media/tv/Slow Horses/Season 6/Slow.Horses.S06E02.PROPER.1080p.WEB.h264-ETHEL.mkv (3758.3 MB)
drive media_b: media_b/userdata/media/tv/Slow Horses/Season 6/Slow.Horses.S06E03.1080p.WEB.H264-CAKES.mkv (3931.2 MB)
@@ -25,3 +25,10 @@ drwxrwsr-x 2 1000 1000 4096 Oct 14 16:54 /mnt/felhom-drives/media_a/userdata/med
drwxrwsr-x 2 1000 1000 4096 Oct 14 16:54 /mnt/felhom-drives/media_b/userdata/media/torrents/tv
drwxrwsr-x 2 1000 1000 4096 Oct 14 16:54 /mnt/felhom-drives/media_b/userdata/media/transmission/tv
drwxrwsr-x 2 abc users 4096 Oct 14 18:54 /mnt/felhom-drives/media_a/userdata/media/torrents/tv
drwxrwsr-x 2 abc users 4096 Oct 14 18:54 /mnt/felhom-drives/media_b/userdata/media/torrents/tv
CheckHealth -> 201
health items: 0
tags: Avatar: Seven Havens []
tags: American Horror Story []
@@ -0,0 +1,10 @@
SHOW Avatar: Seven Havens drive=media_a tags=['drive-a']
SHOW American Horror Story drive=media_b tags=['drive-b']
SHOW Slow Horses drive=media_b tags=['drive-a']
QUEUE Slow Horses client=Transmission drive-a status=downloading on=media_a x2
QUEUE Slow Horses client=qBittorrent drive-a status=downloading on=- x3
media_a: torrents=5.2G transmission=1.9G tv=2.3G
media_b: torrents=3.8G transmission=4.2G tv=8.0G
/dev/sdc 98G 7.0G 86G 8% /mnt/felhom-drives/media_a
/dev/sdd 98G 8.0G 85G 9% /mnt/felhom-drives/media_b
@@ -0,0 +1,73 @@
== drive adatlemez (/mnt/felhom-drives/adatlemez/userdata/media)
== drive media_a (/mnt/felhom-drives/media_a/userdata/media)
-- torrents/ (11 file(s))
909.5 MB links=2 inode=4194364 torrents/tv/Avatar.Seven.Havens.S01E01.1080p.WEB.h264-GRACE/Avatar.Seven.Havens.S01E01.1080p.WEB.h264-GRACE.mkv
0.0 MB links=1 inode=4194376 torrents/tv/Avatar.Seven.Havens.S01E01.1080p.WEB.h264-GRACE/avatar.seven.havens.s01e01.1080p.web.h264-grace.nfo
35.2 MB links=1 inode=4194366 torrents/tv/Avatar.Seven.Havens.S01E01.1080p.WEB.h264-GRACE/Sample/avatar.seven.havens.s01e01.1080p.web.h264-grace.sample.mkv
720.3 MB links=2 inode=4194368 torrents/tv/Avatar.Seven.Havens.S01E03.1080p.WEB.h264-GRACE/Avatar.Seven.Havens.S01E03.1080p.WEB.h264-GRACE.mkv
0.0 MB links=1 inode=4194377 torrents/tv/Avatar.Seven.Havens.S01E03.1080p.WEB.h264-GRACE/avatar.seven.havens.s01e03.1080p.web.h264-grace.nfo
21.7 MB links=1 inode=4194370 torrents/tv/Avatar.Seven.Havens.S01E03.1080p.WEB.h264-GRACE/Sample/avatar.seven.havens.s01e03.1080p.web.h264-grace.sample.mkv
3783.7 MB links=1 inode=4194398 torrents/.temp/Slow.Horses.S06E05.Sayonara.1080p.ATVP.WEB-DL.DDP5.1.H.264-NTb/Slow.Horses.S06E05.Sayonara.1080p.ATVP.WEB-DL.DDP5.1.H.264-NTb.mkv
3903.0 MB links=1 inode=4194385 torrents/.temp/Slow.Horses.S06E03.1080p.WEB.H264-CAKES/slow.horses.s06e03.1080p.web.h264-cakes.mkv
85.8 MB links=1 inode=4194392 torrents/.temp/Slow.Horses.S06E03.1080p.WEB.H264-CAKES/Sample/slow.horses.s06e03.1080p.web.h264-cakes-sample.mkv
3706.6 MB links=1 inode=4194369 torrents/.temp/Slow.Horses.S06E02.PROPER.1080p.WEB.h264-ETHEL/Slow.Horses.S06E02.PROPER.1080p.WEB.h264-ETHEL.mkv
77.7 MB links=1 inode=4194383 torrents/.temp/Slow.Horses.S06E02.PROPER.1080p.WEB.h264-ETHEL/Sample/slow.horses.s06e02.proper.1080p.web.h264-ethel.sample.mkv
-- transmission/ (9 file(s))
4039.9 MB links=1 inode=4194396 transmission/tv/Slow.Horses.S06E04.1080p.WEB.H264-CAKES/slow.horses.s06e04.1080p.web.h264-cakes.mkv.part
0.0 MB links=1 inode=4194399 transmission/tv/Slow.Horses.S06E04.1080p.WEB.H264-CAKES/slow.horses.s06e04.1080p.web.h264-cakes.nfo
94.2 MB links=1 inode=4194395 transmission/tv/Slow.Horses.S06E04.1080p.WEB.H264-CAKES/Sample/slow.horses.s06e04.1080p.web.h264-cakes-sample.mkv
3859.1 MB links=1 inode=4194387 transmission/tv/Slow.Horses.S06E01.1080p.WEB.H264-CAKES/slow.horses.s06e01.1080p.web.h264-cakes.mkv.part
0.0 MB links=1 inode=4194388 transmission/tv/Slow.Horses.S06E01.1080p.WEB.H264-CAKES/slow.horses.s06e01.1080p.web.h264-cakes.nfo
104.1 MB links=1 inode=4194390 transmission/tv/Slow.Horses.S06E01.1080p.WEB.H264-CAKES/Sample/slow.horses.s06e01.1080p.web.h264-cakes-sample.mkv
0.0 MB links=1 inode=4194374 transmission/tv/Avatar.Seven.Havens.S01E02.1080p.WEB.h264-GRACE/avatar.seven.havens.s01e02.1080p.web.h264-grace.nfo
829.6 MB links=2 inode=4194375 transmission/tv/Avatar.Seven.Havens.S01E02.1080p.WEB.h264-GRACE/Avatar.Seven.Havens.S01E02.1080p.WEB.h264-GRACE.mkv
31.2 MB links=1 inode=4194373 transmission/tv/Avatar.Seven.Havens.S01E02.1080p.WEB.h264-GRACE/Sample/avatar.seven.havens.s01e02.1080p.web.h264-grace.sample.mkv
-- tv/ (3 file(s))
909.5 MB links=2 inode=4194364 tv/Avatar - Seven Havens/Season 1/Avatar.Seven.Havens.S01E01.1080p.WEB.h264-GRACE.mkv
720.3 MB links=2 inode=4194368 tv/Avatar - Seven Havens/Season 1/Avatar.Seven.Havens.S01E03.1080p.WEB.h264-GRACE.mkv
829.6 MB links=2 inode=4194375 tv/Avatar - Seven Havens/Season 1/Avatar.Seven.Havens.S01E02.1080p.WEB.h264-GRACE.mkv
== drive media_b (/mnt/felhom-drives/media_b/userdata/media)
-- torrents/ (8 file(s))
0.0 MB links=1 inode=131101 torrents/tv/American.Horror.Story.S13E01.1080p.DSNP.WEB-DL.DDP5.1.H.264-PlayWEB/American.Horror.Story.S13E01.1080p.DSNP.WEB-DL.DDP5.1.H.264-PlayWEB.nfo
1314.1 MB links=2 inode=131100 torrents/tv/American.Horror.Story.S13E01.1080p.DSNP.WEB-DL.DDP5.1.H.264-PlayWEB/American.Horror.Story.S13E01.13.1080p.DSNP.WEB-DL.DD5.1.H.264-playWEB.mkv
813.6 MB links=2 inode=131110 torrents/tv/American.Horror.Story.S13E03.1080p.DSNP.WEB-DL.DDP5.1.H.264-PlayWEB/American.Horror.Story.S13E03.Rauhnacht.1080p.DSNP.WEB-DL.DD5.1.H.264-playWEB.mkv
0.0 MB links=1 inode=131113 torrents/tv/American.Horror.Story.S13E03.1080p.DSNP.WEB-DL.DDP5.1.H.264-PlayWEB/American.Horror.Story.S13E03.1080p.DSNP.WEB-DL.DDP5.1.H.264-PlayWEB.nfo
956.5 MB links=2 inode=393221 torrents/tv/American.Horror.Story.S13E07.1080p.DSNP.WEB-DL.DDP5.1.H.264-PlayWEB/American.Horror.Story.S13E07.The.Baddest.Witch.of.Them.All.1080p.DSNP.WEB-DL.DD5.1.H.264-playWEB.mkv
0.0 MB links=1 inode=393223 torrents/tv/American.Horror.Story.S13E07.1080p.DSNP.WEB-DL.DDP5.1.H.264-PlayWEB/American.Horror.Story.S13E07.1080p.DSNP.WEB-DL.DDP5.1.H.264-PlayWEB.nfo
969.7 MB links=2 inode=393218 torrents/tv/American.Horror.Story.S13E05.1080p.DSNP.WEB-DL.DDP5.1.H.264-PlayWEB/American.Horror.Story.S13E05.Date.Night.1080p.DSNP.WEB-DL.DD5.1.H.264-playWEB.mkv
0.0 MB links=1 inode=393220 torrents/tv/American.Horror.Story.S13E05.1080p.DSNP.WEB-DL.DDP5.1.H.264-PlayWEB/American.Horror.Story.S13E05.Date.Night.1080p.DSNP.WEB-DL.DD5.1.H.264-playWEB.nfo
-- transmission/ (8 file(s))
1274.2 MB links=2 inode=131103 transmission/tv/American.Horror.Story.S13E02.1080p.DSNP.WEB-DL.DDP5.1.H.264-PlayWEB/American.Horror.Story.S13E02.1.13.AM.1080p.DSNP.WEB-DL.DD5.1.H.264-playWEB.mkv
0.0 MB links=1 inode=131104 transmission/tv/American.Horror.Story.S13E02.1080p.DSNP.WEB-DL.DDP5.1.H.264-PlayWEB/American.Horror.Story.S13E02.1080p.DSNP.WEB-DL.DDP5.1.H.264-PlayWEB.nfo
1164.1 MB links=2 inode=131107 transmission/tv/American.Horror.Story.S13E04.1080p.DSNP.WEB-DL.DDP5.1.H.264-PlayWEB/American.Horror.Story.S13E04.Is.That.All.There.Is.1080p.DSNP.WEB-DL.DD5.1.H.264-playWEB.mkv
0.0 MB links=1 inode=131108 transmission/tv/American.Horror.Story.S13E04.1080p.DSNP.WEB-DL.DDP5.1.H.264-PlayWEB/American.Horror.Story.S13E04.Is.That.All.There.Is.1080p.DSNP.WEB-DL.DD5.1.H.264-playWEB.nfo
1149.4 MB links=2 inode=262146 transmission/tv/American.Horror.Story.S13E08.1080p.DSNP.WEB-DL.DDP5.1.H.264-PlayWEB/American.Horror.Story.S13E08.Hell.No.1080p.DSNP.WEB-DL.DD5.1.H.264-playWEB.mkv
0.0 MB links=1 inode=262147 transmission/tv/American.Horror.Story.S13E08.1080p.DSNP.WEB-DL.DDP5.1.H.264-PlayWEB/American.Horror.Story.S13E08.1080p.DSNP.WEB-DL.DDP5.1.H.264-PlayWEB.nfo
913.5 MB links=2 inode=131112 transmission/tv/American.Horror.Story.S13E06.1080p.DSNP.WEB-DL.DDP5.1.H.264-PlayWEB/American.Horror.Story.S13E06.The.Return.of.Devils.Night.1080p.DSNP.WEB-DL.DD5.1.H.264-playWEB.mkv
0.0 MB links=1 inode=131114 transmission/tv/American.Horror.Story.S13E06.1080p.DSNP.WEB-DL.DDP5.1.H.264-PlayWEB/American.Horror.Story.S13E06.The.Return.of.Devils.Night.1080p.DSNP.WEB-DL.DD5.1.H.264-playWEB.nfo
-- tv/ (8 file(s))
1164.1 MB links=2 inode=131107 tv/American Horror Story/Season 13/American.Horror.Story.S13E04.1080p.DSNP.WEB-DL.DDP5.1.H.264-PlayWEB.mkv
1314.1 MB links=2 inode=131100 tv/American Horror Story/Season 13/American.Horror.Story.S13E01.1080p.DSNP.WEB-DL.DDP5.1.H.264-PlayWEB.mkv
913.5 MB links=2 inode=131112 tv/American Horror Story/Season 13/American.Horror.Story.S13E06.1080p.DSNP.WEB-DL.DDP5.1.H.264-PlayWEB.mkv
956.5 MB links=2 inode=393221 tv/American Horror Story/Season 13/American.Horror.Story.S13E07.1080p.DSNP.WEB-DL.DDP5.1.H.264-PlayWEB.mkv
813.6 MB links=2 inode=131110 tv/American Horror Story/Season 13/American.Horror.Story.S13E03.1080p.DSNP.WEB-DL.DDP5.1.H.264-PlayWEB.mkv
1274.2 MB links=2 inode=131103 tv/American Horror Story/Season 13/American.Horror.Story.S13E02.1080p.DSNP.WEB-DL.DDP5.1.H.264-PlayWEB.mkv
969.7 MB links=2 inode=393218 tv/American Horror Story/Season 13/American.Horror.Story.S13E05.1080p.DSNP.WEB-DL.DDP5.1.H.264-PlayWEB.mkv
1149.4 MB links=2 inode=262146 tv/American Horror Story/Season 13/American.Horror.Story.S13E08.1080p.DSNP.WEB-DL.DDP5.1.H.264-PlayWEB.mkv
== 47 file(s) on 3 drive(s)
== ONE FILE, TWO NAMES (hardlink — no extra copy):
drive media_a inode 4194364 (909.5 MB): torrents/…/Avatar.Seven.Havens.S01E01.1080p.WEB.h264-GRACE.mkv <-> tv/…/Avatar.Seven.Havens.S01E01.1080p.WEB.h264-GRACE.mkv
drive media_a inode 4194368 (720.3 MB): torrents/…/Avatar.Seven.Havens.S01E03.1080p.WEB.h264-GRACE.mkv <-> tv/…/Avatar.Seven.Havens.S01E03.1080p.WEB.h264-GRACE.mkv
drive media_a inode 4194375 (829.6 MB): transmission/…/Avatar.Seven.Havens.S01E02.1080p.WEB.h264-GRACE.mkv <-> tv/…/Avatar.Seven.Havens.S01E02.1080p.WEB.h264-GRACE.mkv
drive media_b inode 131100 (1314.1 MB): torrents/…/American.Horror.Story.S13E01.13.1080p.DSNP.WEB-DL.DD5.1.H.264-playWEB.mkv <-> tv/…/American.Horror.Story.S13E01.1080p.DSNP.WEB-DL.DDP5.1.H.264-PlayWEB.mkv
drive media_b inode 131110 (813.6 MB): torrents/…/American.Horror.Story.S13E03.Rauhnacht.1080p.DSNP.WEB-DL.DD5.1.H.264-playWEB.mkv <-> tv/…/American.Horror.Story.S13E03.1080p.DSNP.WEB-DL.DDP5.1.H.264-PlayWEB.mkv
drive media_b inode 393221 (956.5 MB): torrents/…/American.Horror.Story.S13E07.The.Baddest.Witch.of.Them.All.1080p.DSNP.WEB-DL.DD5.1.H.264-playWEB.mkv <-> tv/…/American.Horror.Story.S13E07.1080p.DSNP.WEB-DL.DDP5.1.H.264-PlayWEB.mkv
drive media_b inode 393218 (969.7 MB): torrents/…/American.Horror.Story.S13E05.Date.Night.1080p.DSNP.WEB-DL.DD5.1.H.264-playWEB.mkv <-> tv/…/American.Horror.Story.S13E05.1080p.DSNP.WEB-DL.DDP5.1.H.264-PlayWEB.mkv
drive media_b inode 131103 (1274.2 MB): transmission/…/American.Horror.Story.S13E02.1.13.AM.1080p.DSNP.WEB-DL.DD5.1.H.264-playWEB.mkv <-> tv/…/American.Horror.Story.S13E02.1080p.DSNP.WEB-DL.DDP5.1.H.264-PlayWEB.mkv
drive media_b inode 131107 (1164.1 MB): transmission/…/American.Horror.Story.S13E04.Is.That.All.There.Is.1080p.DSNP.WEB-DL.DD5.1.H.264-playWEB.mkv <-> tv/…/American.Horror.Story.S13E04.1080p.DSNP.WEB-DL.DDP5.1.H.264-PlayWEB.mkv
drive media_b inode 262146 (1149.4 MB): transmission/…/American.Horror.Story.S13E08.Hell.No.1080p.DSNP.WEB-DL.DD5.1.H.264-playWEB.mkv <-> tv/…/American.Horror.Story.S13E08.1080p.DSNP.WEB-DL.DDP5.1.H.264-PlayWEB.mkv
drive media_b inode 131112 (913.5 MB): transmission/…/American.Horror.Story.S13E06.The.Return.of.Devils.Night.1080p.DSNP.WEB-DL.DD5.1.H.264-playWEB.mkv <-> tv/…/American.Horror.Story.S13E06.1080p.DSNP.WEB-DL.DDP5.1.H.264-PlayWEB.mkv
11 pair(s)
== LIBRARY FILES WITH LINK COUNT 1 (a copy, or its download is gone):
@@ -0,0 +1,47 @@
--- libraries
count 2
1 movie Movies tv.plex.agents.movie Plex Movie refreshing= False ['/mnt/felhom-drives/media_a/userdata/media/movies', '/mnt/felhom-drives/media_b/userdata/media/movies']
2 show TV Shows tv.plex.agents.series Plex TV Series refreshing= False ['/mnt/felhom-drives/media_a/userdata/media/tv', '/mnt/felhom-drives/media_b/userdata/media/tv']
section 1 items: 0 []
section 2 items: 0 []
--- what plex sees
uid=0(root) gid=0(root) groups=0(root)
/mnt/felhom-drives/media_a/userdata/media/tv:
total 12
drwxrwsr-x 3 root plex 4096 Oct 14 19:07 .
drwxrwsr-x 16 root plex 4096 Oct 14 17:44 ..
drwxrwsr-x 3 plex plex 4096 Oct 14 19:07 Avatar - Seven Havens
/mnt/felhom-drives/media_b/userdata/media/tv:
total 16
drwxrwsr-x 4 root plex 4096 Oct 14 19:10 .
drwxrwsr-x 16 root plex 4096 Oct 14 15:59 ..
/mnt/felhom-drives/media_b/userdata/media/tv
/mnt/felhom-drives/media_b/userdata/media/tv/American Horror Story
/mnt/felhom-drives/media_b/userdata/media/tv/American Horror Story/Season 13
/mnt/felhom-drives/media_b/userdata/media/tv/American Horror Story/Season 13/American.Horror.Story.S13E04.1080p.DSNP.WEB-DL.DDP5.1.H.264-PlayWEB.mkv
/mnt/felhom-drives/media_b/userdata/media/tv/American Horror Story/Season 13/American.Horror.Story.S13E01.1080p.DSNP.WEB-DL.DDP5.1.H.264-PlayWEB.mkv
--- plex log
Oct 14, 2026 18:30:08.590 [130702724381496] DEBUG - NotificationStream: Removing because of error
Oct 14, 2026 18:35:42.304 [130702724381496] DEBUG - NotificationStream: Removing because of error
Oct 14, 2026 18:35:53.917 [130702734465848] WARN - JobManager: Could not find job for handle 725
Oct 14, 2026 19:05:10.735 [130702611520312] WARN - NAT: PMP, got an error: Not Supported by gateway.
Oct 14, 2026 19:05:11.257 [130702677613368] WARN - NAT: PMP, got an error: Not Supported by gateway.
Oct 14, 2026 19:13:19.405 [130702673394488] WARN - [Req#532] QueryParser: Invalid field 'contentDirectoryID' found, ignoring.
Oct 14, 2026 19:13:19.405 [130702673394488] WARN - [Req#532] QueryParser: Invalid field 'pinnedContentDirectoryID' found, ignoring.
Oct 14, 2026 19:13:22.641 [130702664956728] ERROR - [Req#53e] Unknown metadata type: folder
Oct 14, 2026 19:13:29.799 [130702692379448] ERROR - [Req#542] Unknown metadata type: folder
Oct 14, 2026 19:13:45.289 [130702726490936] DEBUG - NotificationStream: Removing because of error
Oct 14, 2026 19:15:30.414 [130702724381496] DEBUG - NotificationStream: Removing because of error
Oct 14, 2026 19:15:36.833 [130702664956728] WARN - [Req#57d] Missing X-Plex-Container-Size header. This will fail with status code 400 in the future.
Oct 14, 2026 19:15:36.932 [130702664956728] WARN - [Req#580] Missing X-Plex-Container-Size header. This will fail with status code 400 in the future.
Oct 14, 2026 19:15:37.021 [130702664956728] WARN - [Req#583] Invalid library section ID 3 passed.
Oct 14, 2026 19:15:37.139 [130702664956728] WARN - [Req#586] Invalid library section ID 4 passed.
prefs: (absent = Plex default)
refresh TV -> 200
refresh Movies -> 200
section 1 items: 2 ['Hope', 'Matchbox the Movie']
section 2 items: 3 ['American Horror Story', 'Avatar: Seven Havens', 'Slow Horses']
@@ -0,0 +1,51 @@
#!/usr/bin/env python3
"""landed.py — Part E1: per imported episode/film, where the download was, where the library file is, hardlink or copy,
and which download app. Source: Sonarr's and Radarr's own `downloadFolderImported` history (droppedPath, importedPath,
downloadClientName) + a stat of both files NOW. Run INSIDE the guest (run_in_guest.py landed.py). Keys read at runtime,
never printed."""
import json, os, re, subprocess, urllib.request
def sh(c):
return subprocess.run(c, shell=True, capture_output=True, text=True).stdout.strip()
def get(app, port, path):
key = re.search(r"<ApiKey>([^<]+)</ApiKey>", open(f"/var/lib/docker/volumes/{app}_{app}_config/_data/config.xml").read()).group(1)
ip = sh(f"docker inspect {app} -f '{{{{range .NetworkSettings.Networks}}}}{{{{.IPAddress}}}}{{{{end}}}}'")
req = urllib.request.Request(f"http://{ip}:{port}/api/v3/{path}", headers={"X-Api-Key": key, "Host": app})
return json.load(urllib.request.urlopen(req, timeout=60))
def drive(p):
return p.split("/")[3] if p and p.startswith("/mnt/felhom-drives/") else "?"
def st(p):
try:
s = os.stat(p)
return (s.st_dev, s.st_ino, s.st_nlink)
except OSError:
return None
for app, port, kind in (("sonarr", 8989, "series"), ("radarr", 7878, "movie")):
tags = {t["id"]: t["label"] for t in get(app, port, "tag")}
items = {x["id"]: x for x in get(app, port, kind)}
hist = get(app, port, "history?pageSize=500&eventType=3")["records"] # 3 = downloadFolderImported
print(f"== {app}: {len(hist)} import(s)")
for x in items.values():
print(f" {kind} {x['title']}: root={drive(x.get('rootFolderPath') or x.get('path'))} tags={[tags.get(i, i) for i in x['tags']]}")
for h in sorted(hist, key=lambda h: h["date"]):
d = h["data"]
src, dst = d.get("droppedPath"), d.get("importedPath")
a, b = st(src), st(dst)
if a and b and a[:2] == b[:2]:
how = "HARDLINK"
elif b and b[2] == 1:
how = "COPY" if not a or a[:2] != b[:2] else "?"
else:
how = "library file gone" if not b else "?"
title = items.get(h.get("seriesId") or h.get("movieId"), {}).get("title", "?")
print(f" {title[:24]:24} {os.path.basename(dst or '')[:46]:46} client={d.get('downloadClientName'):22} "
f"download={drive(src)} library={drive(dst)} {how}")
+2 -1
View File
@@ -124,7 +124,7 @@ stopping line that lies.
| **R-494** | Install & onboarding | P4 | **NARROWED 2026-09-14 by operator ruling → [P3-LOW] the hub COULD create the tunnel at customer creation, for a domain already on Cloudflare. Not blocking: every customer has their own domain and the operator creates the tunnel per day-0 A.1 (`architecture/01-topology-and-trust.md`).** *Original finding, kept:* **[P1-HIGH] A new customer's dashboard has NO reachable address unless the operator hand-makes a Cloudflare tunnel — the link in the setup-code mail is dead.** MEASURED 2026-09-14 on a fresh install from the public ISO (drill intervention **I1**): the claim mail points at `https://felhom.drill0242.felhom.eu`; that name has **no A and no AAAA** record (`dig @1.1.1.1`, control `felhom.enkisfelhom.hu` resolves); the hub has **no tunnel- or DNS-creation code** (`hub/internal/cloudflare/` holds only geo-rule removal; `cf_tunnel_token` is a pasted, optional form field, `configs.go:1478`) — day-0 runbook A.1 makes it a manual Cloudflare-dashboard step that nothing on the customer-create page asks for; the box's own split-horizon resolver on the appliance LAN IP answered `google.com` but not the dashboard name at 13:27:39Z; the agent applied the record at **13:27:44Z** (`lanresolver: applied split-horizon record … ip=192.168.0.158`, 3 m 46 s after the controller started), so the box CAN answer the name — **but only to a device that uses the box as its DNS server, and no document, screen or mail tells a household to do that**; the router and the installer-offered DNS answer nothing. The page was reachable only at the guest's LAN address with the name forced (`curl --resolve …:443:192.168.0.158`). **A volunteer could not have done that.** **What it needs:** an operator ruling — the hub creates the tunnel and DNS at customer creation, or the product gives a household a LAN address that works with no DNS change. | **READY — rank P3-LOW; owner: CC** **Re-ranked 2026-10-03: P3→P4: operator-side automation; the operator creates the tunnel by hand per the day-0 runbook.** | — | — | CC |
| **R-504** | Install & onboarding | P4 | **[P3-LOW] `iso.felhom.eu` cannot show an index page on its own — its root returns 404, and the download page lives on the website instead.** MEASURED 2026-09-14: `https://iso.felhom.eu/` and `/index.html` → 404; only named objects answer. The host is an R2 bucket behind a custom domain; whether R2 would serve an uploaded `index.html` at `/` was **not measured** (uploading anything to the public bucket is a publication). The ISO v1.27.0 task puts the Hungarian download page at `felhom.eu/letoltes` (published with the ISO, after the operator's yes). **Remaining:** a redirect from `iso.felhom.eu/` to that page needs a Cloudflare rule the session has no credential for. | **WAITING-ON-OPERATOR — rank P3-LOW; owner: operator (Cloudflare rule)** **Re-ranked 2026-10-03: P3→P4: households are sent to the website's download page; the bare address is cosmetic.** | — | — | operator |
## Apps & catalog — 18 rows (P2 3, P3 10, P4 5)
## Apps & catalog — 19 rows (P2 3, P3 11, P4 5)
| ID | Category | Sev | What | State | Blocked on | Next action | Owner |
|---|---|---|---|---|---|---|---|
@@ -141,6 +141,7 @@ stopping line that lies.
| **R-1028** | Apps & catalog | P3 | **Plex's claim code can run out during the install, and the box cannot recover it.** plex.tv's code lives 4 minutes from the moment the household copies it; the clock covers the wizard, the image pull (`plexinc/pms-docker` is 351 MB, measured) and the first start. Plex reads `PLEX_CLAIM` only on its first run, and the field is `locked_after_deploy` — so a late code leaves an unclaimed server and the only way back is remove + install again. Reported by the operator during the 2026-10-14 test; on Tester 1's line the pull+start took 8.5 s and the claim worked (`audits/media-all-drives-2026-10-14/``G-auth/G3-plex-claim.txt`), so it bites on a slow line or a slow hand. | **READY** — filed 2026-10-14 | — | Pull the image BEFORE asking for the code (or ask for it on a step after the pull), and give the household a „claim again” action that sets the code on the running server (Plex's `/myplex/claim?token=` call) | CC |
| **R-1029** | Apps & catalog | P3 | **Plex's folder picker shows the drives as identical „media” folders.** With one bind per drive at the same path (`/mnt/felhom-drives/<drive>/userdata/media`), the leaf of every library folder is `media`; the drive's name sits two levels up, so in Plex's picker the household sees several folders all called „media” (reported by the operator during the 2026-10-14 test on Tester 1). It conflicts with `15` §2 reason 2 (the same path everywhere). | **READY** — filed 2026-10-14 | the layout decision (STATUS D9) | Decide in `15` §2: the players (`:ro`, never linked) may get a readable path per drive (e.g. `/media/<drive label>`) without breaking the hardlink rule, which binds only the download/library apps | CC |
| **R-1036** | Apps & catalog | P3 | **The apps page lags the catalog by two apps.** `app-catalog-felhom.eu/templates/` holds **64** apps; `/alkalmazasok` and `/en/apps` render **63** cards, one of which (`filebrowser`) is built in and not a catalog template — so **62 catalog apps are listed**. Missing: **`plant-it`** and **`wger`**, both in the catalog since 2026-10-06/08. Their website assets are ALREADY present (`plant-it-logo.svg` + 3 screenshots, `wger-logo.png` + 3 screenshots, renamed to the catalog slug by `a3507761`, 2026-10-08) — only the cards were never written, so this is not a new-asset job. Found 2026-10-14 while reconciling the app count for the „felhő tárhely” page, where four places said **60** and the rest said **62**. **Done in that session:** every stated count on the site set to **62** (`index.html`, `szolgaltatasok.html`, `en/services.html` were 60), which is what the apps page actually shows — so no visitor can count the cards and find the number wrong. **62 is still not the catalog's number.** **To close:** write the two cards on both apps pages (gate 15 keeps the two pages' app sets equal, so they move together), then raise every stated count 62 → 64 in the same commit. **The operator chose this split at the 2026-10-14 STOP** over doing it inside the SEO change. | **OPEN** | — | write the `plant-it` + `wger` cards on both apps pages, then 62 → 64 everywhere, one commit | CC |
| **R-1037** | Apps & catalog | P3 | **Plex never notices new files: its automatic scan is off by default.** MEASURED 2026-10-14 on Tester 1 (`audits/media-all-drives-2026-10-14/K-plex-empty.txt`): the operator made the TV and Movies libraries with both drives' folders at ~18:35; 16 episodes and 2 films were imported from 19:07 on; at 19:15 Plex still showed 0 items, no scan running, and `Preferences.xml` carries neither `FSEventLibraryUpdatesEnabled` nor `ScheduledLibraryUpdatesEnabled` (Plex's defaults: both off). One manual `/library/sections/<n>/refresh` → 3 shows and 2 films. A household sees an empty Plex and concludes the box is broken. | **READY** — filed 2026-10-14 | — | Seed „Scan my library automatically” (and a periodic scan) at install, or let Sonarr/Radarr tell Plex after each import (their „Connect → Plex Media Server”, part of R-1024); decide with `15` §6 | CC |
| **R-76** | Apps & catalog | P4 | **FileBrowser-created folders break the setgid chain, and a drop-zone's mode is not stable** **MIGRATED FROM `ROADMAP.md` 2026-08-22 (R-369) — originally filed 2026-07-26, size S, roadmap state `idea (surfaced by the R-75 spike, 2026-07-26)`.** Moved verbatim; nothing added or reinterpreted. The roadmap keeps its copy as history, marked moved. | **OPEN — migrated from ROADMAP 2026-08-22, rank unchanged** **2026-10-06 night: not a catalog fix** — the setgid chain is set by the controller's FileBrowser setup; a controller row. | — | Two related findings from `audits/SPIKE-catalog-data-paths-2026-07-26.md` P3/P5, both **pre-existing** and deliberately left alone by that spike. **(a)** FileBrowser Quantum 1.3.3 creates files `0644` and folders `0755` and does **not** propagate the setgid bit — even though the entrypoint wrapper's `umask 002` really is in effect (`/proc/1/status` `Umask: 0002`). Group inheritance itself works (a file uploaded into a 2775 group-100 dir landed group 100, not the process gid 1000), so the convention's *group* half holds and only its *mode* half is lost. The consequence is proven with a control: inside a UI-created `0755` folder a gid-1000 process's file landed group **1000**, while the identical write into the 2775 parent landed group **100**. So **any folder a customer creates through FileBrowser breaks the shared-group chain one level down.** Latent today — every userdata-touching catalog app that declares an identity declares uid/gid **1000**, the same uid FileBrowser runs as, so owner permissions mask it; it bites the day a content app runs as a different non-root uid with gid 1000. The comment at `infra/infra.go:156` is right that the image ignores `-e UMASK` but does not say t | CC |
| **R-707** | Apps & catalog | P4 | **[P2] 37 apps still start with a login a stranger can take (`09` §3 decision 45).** Audit of all 53 apps: `app-catalog-felhom.eu/FIRST-ADMIN.md` (class, fix route, status, measured or read). Open: **3 hard-coded defaults** — calibre-web (`admin / admin123`, measured working on demo-hp and 9202; its own `cps.py -s` route needs a generated password WITH a special character — our generator is letters+digits, a controller change), mealie (`changeme@example.com / MyPassword`), wger (`admin / adminadmin`); **34 open first-run screens** (the first visitor creates the admin: actualbudget, adventurelog, audiobookshelf, calcom, docmost, emby, ghost, gitea, gramps-web, home-assistant, homebox, immich, jellyfin, komga, n8n, navidrome, opengist, outline, papra, plant-it, radarr, rallly, recipe-importer, romm, seerr, sonarr, sparkyfitness, tandoor, termix, uptime-kuma, vikunja, wanderer, wishlist, zipline). **Stale notes:** romm's `default_creds` `admin / admin` answers 401 on demo-hp (like a wrong password) — the page now warns with a login that does not exist; zipline's looks stale too. **Measured on demo-hp 2026-09-28 (read-only):** bookstack's default still logs in on the INSTALLED app (the fix is for new installs; the page now warns). Each fix: route (a) env or (b) the app's own CLI/API via `after_install:`, proven on 9202 with the default failing and the generated password working; route (c) a page sentence. Several sessions (operator, 2026-09-28). **2026-09-29 (controller v0.280.0, catalog `d0e7e2e`):** every class-3 app fixed — mealie, wger, calibre-web by `after_install` (calibre-web with the new `password:24:special`), proven on 9202 fresh installs (`audits/login-gate-2026-09-29/D/`); the setup gate (decision 46, spike PASSED) built and live on immich, n8n, audiobookshelf (probes measured) and uptime-kuma (button) (`…/C/`); romm's and zipline's stale notes removed. **Left: 30 class-4 apps** — gate each (probe measured on 9202 where one exists — 11 upstream candidates listed in `…/B/B-VERDICT.md` §3; the button otherwise). **2026-09-29 afternoon (controller v0.281.0, catalog `6faf432`):** 28 more class-4 apps gated — 32 of 34 — each proven on 9202 (`audits/gate-rollout-2026-09-29/`B): stranger → gate page / 401, household reached the first-setup screen, the gate opened (9 by a measured probe, the rest by the press), the app answered after. seerr, outline, rallly: gated, their opening needs a media server / e-mail (not proven). **Left:** wanderer (R-714); plant-it is not installable. | **NARROWED** (2026-10-03 triage: the row's verdict was finished, but it names open work no other row carries — seerr, outline and rallly are gated, but the gate OPENING is not proven (needs a media server / e-mail)) — **CLOSED — 2026-09-29 (the rest → R-714)** | — | — | CC |
| **R-905** | Apps & catalog | P4 | **wger's collected style files (283 MB) go into every wger backup, though the app rebuilds them at every start.** Since R-762's fix (`DJANGO_DEBUG=False` + `collectstatic`, catalog `cf1ed43`) the static files sit in a named volume that the backup legs copy like data (measured 283 MB, `audits/design-build-2026-10-06/`); `collectstatic` regenerates them, so they are rebuildable bytes in every Tier-1 unit, Tier-2 copy and off-site snapshot. wger is `lifecycle: hidden` and no box runs it (hub read 2026-10-08). Options to weigh: a non-backed-up volume class for regenerable data, or an anonymous volume. Found by the R-762 helpers 2026-10-08. | **OPEN — needs a design before wger is shown** | — | Design the „regenerable volume" exclusion (catalog + controller backup legs) | CC |