The merged door was /mnt/media, which read like a third volume and split the host state across two trees. It is now /var/lib/media-meta/view, so the array layer, the SSD upper layer, the kernel workdir, the reap trash and the merged tree are one directory — and the mount table gains no new /mnt entry beside the array. systemd names a mount unit after its ESCAPED path, so the repo copy keeps the readable name media-meta-view.mount while `install` writes the host file as var-lib-media\x2dmeta-view.mount; `plan` prints both and the page records them, so nobody hunts for a unit that "does not exist". install also creates the mount point itself, because systemd will not. The seam now additionally pins that the unit's Where= is exactly the path both containers bind — guard and bind cannot drift apart. The Quadlet Lifecycle phantom-path example is corrected too: it named an invented /mnt/media/*, while the real phantom is the legacy /opt/jellyfin/* that dankserver/compose.yaml still carries for a service whose roots moved to /home/dank/Containers/jellyfin.
28 lines
976 B
INI
28 lines
976 B
INI
[Unit]
|
|
Description=Plex Media Server (quadlet, rootless fleet identity)
|
|
After=network-online.target
|
|
Wants=network-online.target
|
|
|
|
[Container]
|
|
Image=lscr.io/linuxserver/plex:1.43.5.11079-b3b13e506-ls330@sha256:01a53d9c7adcbb3701fbb0a4230c0a37c85453759b6b05a67356c3c7a09de08d
|
|
ContainerName=plex
|
|
Network=dankserver_appnet:alias=plex
|
|
Environment=PUID=0
|
|
Environment=PGID=0
|
|
Environment=TZ=America/Los_Angeles
|
|
Volume=/var/lib/plexmediaserver:/config
|
|
# The container path stays /mnt/entropy on purpose: every path Plex recorded in
|
|
# its own database is written against it, so swapping the HOST source of this bind
|
|
# to the overlay view re-points Plex at the sidecars without touching its DB.
|
|
# Read-only: Plex consumes the NFO files Jellyfin writes and writes no metadata.
|
|
Volume=/var/lib/media-meta/view:/mnt/entropy:ro
|
|
UnitConfigItem=ConditionPathIsMountPoint=/var/lib/media-meta/view
|
|
PublishPort=32400:32400
|
|
|
|
[Service]
|
|
Restart=always
|
|
RestartSec=5
|
|
|
|
[Install]
|
|
WantedBy=default.target
|