fix(deploy): Jellyfin's library moved within /data, a rename rather than a copy (ADR 0039, D15)

/home is a bind mount of /data/home: mv from /home to /data crosses mount
points, where the kernel refuses a rename, so mv would copy the whole
704 GB library with 147 GB free. Moving it by /data/home's path stays
within one mount.

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
Signed-off-by: Tizian 「ティツィアーン」 <raisondetredev@pm.me>
This commit is contained in:
Tizian 「ティツィアーン」 2026-11-08 23:29:16 +01:00
commit 0e664e3814
Signed by: raisondetredev
GPG key ID: 07F6FCF405488B64

View file

@ -121,10 +121,13 @@ the *Jellyfin* steps 1 and 4 to 6, after `../host/README.md`, step 4 (which stop
1. ✱ **Its user**, the sidecar's (ID 61096), as *Jellyfin*, step 1 has it. 1. ✱ **Its user**, the sidecar's (ID 61096), as *Jellyfin*, step 1 has it.
2. ✱ **The library on the HDD, readable by Jellyfin**: the developer's home is closed to 2. ✱ **The library on the HDD, readable by Jellyfin**: the developer's home is closed to
other users, and Jellyfin runs as its own. `/home` is a bind mount of `/data/home`, other users, and Jellyfin runs as its own. `/home` is a bind mount of `/data/home`,
so this is a rename on one filesystem, instant whatever its size: so the library is on the HDD already. It is moved by the HDD's own path: across two
mount points, even of one filesystem, the kernel refuses a rename, and `mv` would
copy all of it instead (704 GB, with 147 GB free, found 8 Nov 2026). Within `/data`
it is one rename, instant whatever its size:
```sh ```sh
sudo mv /home/raisondetredev/Media /data/media sudo mv /data/home/raisondetredev/Media /data/media
sudo chmod -R a+rX /data/media sudo chmod -R a+rX /data/media
``` ```