Media all drives, Part D: test sheet for the operator; design note 15 (draft); 09 §3 decisions 237-241; R-1022..R-1027 (removal deletes the shared library R-1027, restart restarts nothing R-1026)
gates / gates (push) Successful in 6m34s

This commit is contained in:
2026-10-14 17:52:56 +02:00
parent 170d090e7b
commit e6dbc7304b
9 changed files with 393 additions and 7 deletions
@@ -0,0 +1,107 @@
== media_a
ls: cannot access '/mnt/felhom-drives/media_a/userdata/media': No such file or directory
/mnt/felhom-drives/media_a/userdata/:
total 20
drwxrwsr-x 5 root 1000 4096 Oct 14 15:41 .
drwxr-xr-x 4 root root 4096 Oct 14 14:09 ..
drwxrwsr-x 2 root 1000 4096 Oct 14 13:59 documents
drwxrwsr-x 2 root 1000 4096 Oct 14 14:08 downloads
drwxrwsr-x 2 root 1000 4096 Oct 14 13:59 roms
== media_b
/mnt/felhom-drives/media_b/userdata/:
total 24
drwxrwsr-x 6 root 1000 4096 Oct 14 13:59 .
drwxr-xr-x 3 root root 4096 Oct 14 13:59 ..
drwxrwsr-x 2 root 1000 4096 Oct 14 13:59 documents
drwxrwsr-x 2 root 1000 4096 Oct 14 13:59 downloads
drwxrwsr-x 16 root 1000 4096 Oct 14 13:59 media
drwxrwsr-x 2 root 1000 4096 Oct 14 13:59 roms
/mnt/felhom-drives/media_b/userdata/media:
total 64
drwxrwsr-x 16 root 1000 4096 Oct 14 13:59 .
drwxrwsr-x 6 root 1000 4096 Oct 14 13:59 ..
drwxrwsr-x 2 root 1000 4096 Oct 14 13:59 audiobooks
drwxrwsr-x 2 root 1000 4096 Oct 14 13:59 books
drwxrwsr-x 2 root 1000 4096 Oct 14 13:59 comics
drwxrwsr-x 2 root 1000 4096 Oct 14 13:59 grimmory
drwxrwsr-x 2 root 1000 4096 Oct 14 13:59 metube
drwxrwsr-x 2 root 1000 4096 Oct 14 15:33 movies
drwxrwsr-x 2 root 1000 4096 Oct 14 13:59 music
drwxrwsr-x 2 root 1000 4096 Oct 14 13:59 nzbget
drwxrwsr-x 2 root 1000 4096 Oct 14 13:59 photos
drwxrwsr-x 2 root 1000 4096 Oct 14 13:59 podcasts
drwxrwsr-x 4 root 1000 4096 Oct 14 15:03 torrents
drwxrwsr-x 5 root 1000 4096 Oct 14 14:56 transmission
drwxrwsr-x 2 root 1000 4096 Oct 14 14:10 tv
drwxrwsr-x 2 root 1000 4096 Oct 14 13:59 usenet
2026/10/14 15:38:14 [INFO] [stacks] ParseComposeHDDMounts: found 2 HDD mounts for /opt/docker/stacks/paperless-ngx/docker-compose.yml
2026/10/14 15:38:14 [INFO] [stacks] ParseComposeHDDMounts: found 0 HDD mounts for /opt/docker/stacks/privatebin/docker-compose.yml
2026/10/14 15:38:14 [INFO] [stacks] ParseComposeHDDMounts: found 0 HDD mounts for /opt/docker/stacks/privatebin/docker-compose.yml
2026/10/14 15:38:14 [INFO] [stacks] ParseComposeHDDMounts: found 0 HDD mounts for /opt/docker/stacks/privatebin/docker-compose.yml
2026/10/14 15:38:14 [INFO] [stacks] ParseComposeHDDMounts: found 1 HDD mounts for /opt/docker/stacks/radarr/docker-compose.yml
2026/10/14 15:38:14 [INFO] [stacks] ParseComposeHDDMounts: found 1 HDD mounts for /opt/docker/stacks/sonarr/docker-compose.yml
2026/10/14 15:38:14 [INFO] [stacks] ParseComposeHDDMounts: found 2 HDD mounts for /opt/docker/stacks/transmission/docker-compose.yml
2026/10/14 15:38:14 [INFO] [stacks] ParseComposeHDDMounts: found 1 HDD mounts for /opt/docker/stacks/qbittorrent/docker-compose.yml
2026/10/14 15:39:54 [INFO] [stacks] ParseComposeHDDMounts: found 1 HDD mounts for /opt/docker/stacks/plex/docker-compose.yml
2026/10/14 15:39:54 [INFO] [stacks] ParseComposeHDDMounts: found 1 HDD mounts for /opt/docker/stacks/plex/docker-compose.yml
2026/10/14 15:39:54 [INFO] [stacks] Deploying stack plex with 4 env vars: [DOMAIN, SUBDOMAIN, PLEX_CLAIM, HDD_PATH]
2026/10/14 15:41:23 [INFO] [api] Remove requested for stack: plex
2026/10/14 15:41:23 [INFO] Removing deployed stack: plex (removeHDDData=true, hddDeclared=true, backupPaths=2)
2026/10/14 15:41:23 [INFO] [stacks] ParseComposeHDDMounts: found 1 HDD mounts for /opt/docker/stacks/plex/docker-compose.yml
2026/10/14 15:41:50 [INFO] [stacks] RemoveStack plex: removed volume(s) [plex_plex_config plex_plex_transcode]
2026/10/14 15:41:50 [INFO] Removed HDD data: /mnt/felhom-drives/media_a/userdata/media (80K)
2026/10/14 15:41:50 [INFO] Stack plex removed successfully (took 26.7s)
2026/10/14 15:41:50 [INFO] Event pushed: app_removed (info) [hu-only] — Alkalmazás eltávolítva: plex
2026/10/14 15:41:50 [INFO] [stacks] image retention (remove of plex): deleted [plexinc/pms-docker:1.41.4.9463-630c9f557] (0186be6d1305, 351MB) — no container, installed app or undo names it (decision 53)
2026/10/14 15:41:50 [INFO] [stacks] image retention (remove of plex): pass over 21 image(s) of [plexinc/pms-docker] — 1 candidate(s), 1 deleted, the rest kept
drwxrwsr-x 14 root 1000 4096 Oct 14 15:42 /mnt/felhom-drives/media_a/userdata/media
audiobooks books comics grimmory metube movies music nzbget photos podcasts tv usenet
sonarr: 2026-10-14T15:28:50.432279316Z sees A=0
radarr: 2026-10-14T15:28:45.399705005Z sees A=0
qbittorrent: 2026-10-14T15:29:00.502333441Z sees A=0
transmission: 2026-10-14T15:28:58.010876451Z sees A=0
drwxrwsr-x 2 root 1000 4096 Oct 14 15:44 torrents
drwxrwsr-x 3 root 1000 4096 Oct 14 15:44 transmission
17:44:33 qbittorrent restart -> 200 {'ok': True, 'data': {'state': 'running'}, 'message': 'Stack qbittorrent restart
17:44:33 transmission restart -> 200 {'ok': True, 'data': {'state': 'running'}, 'message': 'Stack transmission restar
17:44:33 sonarr restart -> 200 {'ok': True, 'data': {'state': 'running'}, 'message': 'Stack sonarr restart requ
17:44:33 radarr restart -> 200 {'ok': True, 'data': {'state': 'running'}, 'message': 'Stack radarr restart requ
sonarr: started 2026-10-14T15:28:50.432279316Z sees A=0 B=14
radarr: started 2026-10-14T15:28:45.399705005Z sees A=0 B=14
qbittorrent: started 2026-10-14T15:29:00.502333441Z sees A=0 B=14
transmission: started 2026-10-14T15:28:58.010876451Z sees A=0 B=14
sonarr: started 2026-10-14T15:28:50.432279316Z sees A=0
radarr: started 2026-10-14T15:28:45.399705005Z sees A=0
qbittorrent: started 2026-10-14T15:29:00.502333441Z sees A=0
transmission: started 2026-10-14T15:28:58.010876451Z sees A=0
2026/10/14 15:44:32 [INFO] [api] restart requested for stack: qbittorrent
2026/10/14 15:44:32 [INFO] [stacks] Restarting stack: qbittorrent
2026/10/14 15:44:32 [INFO] [stacks] Stack qbittorrent restarted successfully (took 0.1s)
2026/10/14 15:44:33 [INFO] [api] restart requested for stack: transmission
2026/10/14 15:44:33 [INFO] [stacks] Restarting stack: transmission
2026/10/14 15:44:33 [INFO] [stacks] Stack transmission restarted successfully (took 0.1s)
2026/10/14 15:44:33 [INFO] [api] restart requested for stack: sonarr
2026/10/14 15:44:33 [INFO] [stacks] Restarting stack: sonarr
2026/10/14 15:44:33 [INFO] [stacks] Stack sonarr restarted successfully (took 0.1s)
2026/10/14 15:44:33 [INFO] [api] restart requested for stack: radarr
2026/10/14 15:44:33 [INFO] [stacks] Restarting stack: radarr
2026/10/14 15:44:33 [INFO] [stacks] Stack radarr restarted successfully (took 0.1s)
17:46:00 qbittorrent stop -> 200
17:46:05 transmission stop -> 200
17:46:08 sonarr stop -> 200
17:46:12 radarr stop -> 200
17:46:32 qbittorrent start -> 200 {'ok': True, 'data': {'state': 'starting'}, 'message': 'Stac
17:46:33 transmission start -> 200 {'ok': True, 'data': {'state': 'starting'}, 'message': 'Stac
17:46:34 sonarr start -> 200 {'ok': True, 'data': {'state': 'starting'}, 'message': 'Stac
17:46:34 radarr start -> 200 {'ok': True, 'data': {'state': 'starting'}, 'message': 'Stac
sonarr: started 2026-10-14T15:46:33.691456Z healthy sees A=14 B=14
radarr: started 2026-10-14T15:46:34.33316681Z healthy sees A=14 B=14
qbittorrent: started 2026-10-14T15:46:32.525118942Z healthy sees A=14 B=14
transmission: started 2026-10-14T15:46:33.100564276Z healthy sees A=14 B=14
@@ -0,0 +1,18 @@
17:39:54 deploy throwaway plex -> 202 {"ok": true, "data": {"warning": "Az alkalmazások csúcsterhelése meghaladhatja a rendelkezésre álló memóriát. Normál használat mellett ez nem okoz pro
17:40:19 state running
Attempting to obtain server token from claim token
ProcessedMachineIdentifier="7bcd5d93956601d9573acffac9f6ebcc2787e8d0
customConnections="https://plex.enkicsifelhom.hu:443/
public https://plex.enkicsifelhom.hu/identity -> 200
public https://plex.enkicsifelhom.hu/web/index.html -> 200
public GET /library/sections (no token) -> 401 <html><head><title>Unauthorized</title></head><body><h1>401 Unauthorized</h1></body></html>
public GET /:/prefs (no token) -> 401 <html><head><title>Unauthorized</title></head><body><h1>401 Unauthorized</h1></body></html>
public GET /myplex/account (no token) -> 401 <html><head><title>Unauthorized</title></head><body><h1>401 Unauthorized</h1></body></html>
public GET /accounts (no token) -> 401 <html><head><title>Unauthorized</title></head><body><h1>401 Unauthorized</h1></body></html>
17:41:18 [X] stop -> 200 {'ok': True, 'message': 'Stack plex stop completed'}
17:41:50 [X] remove (with drive data) -> 200 {'ok': True, 'data': {'removed': 'plex', 'volumes_removed': ['plex_plex_config', 'plex_plex_transcode'], 'hdd_paths_removed': ['/mnt/felhom-drives/media_a/userd
17:41:59 [X] after remove: deployed=False leftovers='/opt/docker/stacks/plex'
/opt/docker/stacks/plex
/mnt/felhom-drives/media_b/userdata/media/tv:
@@ -0,0 +1,81 @@
# Test sheet — media apps on two drives (Tester 1)
About one hour. From any place with a browser. Use only content you have the right to.
## 1. Addresses
| What | Address |
|---|---|
| Dashboard | https://felhom.enkicsifelhom.hu |
| Sonarr (shows) | https://sonarr.enkicsifelhom.hu |
| Radarr (films) | https://radarr.enkicsifelhom.hu |
| qBittorrent | https://torrent.enkicsifelhom.hu |
| Transmission | https://transmission.enkicsifelhom.hu |
| Plex (after step 2) | https://plex.enkicsifelhom.hu/web |
The two test drives are **Media A** and **Media B**. Their folders:
- Media A: `/mnt/felhom-drives/media_a/userdata/media/tv` and `.../media/movies`
- Media B: `/mnt/felhom-drives/media_b/userdata/media/tv` and `.../media/movies`
## 2. Plex
1. Open https://plex.tv/claim and sign in. Copy the code. It works for 4 minutes.
2. In the dashboard, open **Alkalmazások → Plex → Telepítés**.
3. Paste the code into **Plex Claim Token**. For the drive, select **Media A**. Press install.
4. Open https://plex.enkicsifelhom.hu/web. Sign in with your Plex account.
5. Make one library **TV Shows**. Add two folders: Media A `tv` and Media B `tv`.
6. Make one library **Movies**. Add two folders: Media A `movies` and Media B `movies`.
If the code expired: remove Plex in the dashboard **without** „delete data" (see 7), get a new code, install again.
## 3. Sonarr and Radarr: first sign-in
1. Open Sonarr. The box asks for your dashboard sign-in first. Then Sonarr asks you to make its admin user. Make it.
2. Do the same in Radarr.
3. In each: **Settings → Indexers → +**. Add your own download sources.
The download apps are already connected. Do not change **Settings → Download Clients**, except as step 4c says.
## 4. The test
Each show or film needs a **root folder** (which drive) and a **tag** (which download entries). The tag `drive-a` sends
the download to Media A. The tag `drive-b` sends it to Media B. **A show with no tag cannot download.**
a. **Show 1 → Media A.** Sonarr → Add New. Root folder: Media A `tv`. Tags: `drive-a`. Search for one episode.
b. **Show 2 → Media B.** Root folder: Media B `tv`. Tags: `drive-b`.
c. **Pick the download app.** Each tag has two entries: qBittorrent and Transmission. Sonarr takes turns. To force one:
**Settings → Download Clients**, open the other one (for example „Transmission drive-a"), remove the tick from
**Enable**, save. Put the tick back after the download starts. Try to use each app at least once.
d. **Show 3 → the deliberate mismatch.** Root folder: Media **B** `tv`. Tags: `drive-a`.
e. A film in Radarr, if you want. The same rules.
f. Look in Plex. The shows must appear after Sonarr imports them.
## 5. Passwords
No password is on this sheet.
- qBittorrent and Transmission: user `admin`. The password is on the app's page in the dashboard
(**Alkalmazások → the app → Megjelenítés**).
- Sonarr and Radarr: the admin you made in step 3.
## 6. The legal line
Only download content you have the right to. The download goes from the internet address of the connection this box
uses. Because of how torrents work, the other peers see that address.
## 7. Do not
- **Do not remove a media app with „delete data" / „adatok törlése".** On this test layout it deletes the whole
`media` folder of Media A (found today, R-1027). Removing without it is safe.
- Do not change the drives on the Tárhely page.
## 8. When you are done
Write **„done"** to CC. CC then reports where each file landed. Then CC removes one drive while the apps run. CC tells
you the time before.