Plex cannot access folders on second drive

Hello,

I was trying to setup a plex server today and I had trouble adding one of my folders from my secondary driver to plex. Since my drive is located under /run/media/username/ I thought adding plex to the $USER group would give it access which it did not. I am able to add folders from my home directory and even folders in root folders without a problem but not a single folder from /run/media/username appears.

The permission of the folder that I want to access states that it belongs to me ($USER) and to the group autologin. I tried adding plex to the autologin group and that didn’t fix it either. Am I missing something here? Do I need to chown the folder to access it? This is the first time I’m experiencing permission issues with that folder.

Thanks.

Is this a Snap package? If so, Snaps are sandboxed and have no access beyond their own environment. :man_shrugging:

I really wish the arch wiki would add the fact that you need to add plex to the user group manually for it to work. I’d add it to the manjaro wiki but I don’t remember what I did to do it.

I installed it from the AUR so I don’t believe it’s a snap package.

1 aur/plex-media-server 1.21.1.3830-1 (+322 0.73) (Installed)
3 aur/plex-media-player 2.58.0-4 (+85 0.46) (Installed)

I’m lazy - I used gnome-disks to mount my disks and (not the preferred method, which I should look into using systemd to mount my disks) I put my 4TB Toshiba as /mnt/T4

So my ‘T4-Server’ folder is owned by me, and is drwxr-xr-x in Dolphin.
/mnt/T4 is also mine with all permissions.

in fstab the line goes like this:
LABEL=T4 /mnt/T4 auto nosuid,nodev,nofail,x-gvfs-show 0 0

I forget why, but whilst grepping my history I did also run the line:
PLEX_MEDIA_SERVER_USER=ben

cat /etc/passwd | grep plex
plex:x:965:965:Plex Media Server:/usr/lib/plexmediaserver:/usr/bin/nologin

❯ groups plex
plex
❯ groups ben
wheel lp sys network power sambashare vboxusers ben

Juz a couple of quick alias to speed up some plex operations:
pmstatus=‘sudo systemctl status plexmediaserver’
pmstop=‘sudo systemctl stop plexmediaserver’
pmstart=‘sudo systemctl start plexmediaserver’
Useful sometimes if you’re working hard and plex starts scanning stuff and slowing you down.

Then the only way I could get passthrough to work properly with PlexMediaPlayer was to launch it with a script:

#!/bin/bash
systemctl --user stop pulseaudio.socket systemctl --user stop pulseaudio.service
plexmediaplayer
sleep 5
systemctl --user start pulseaudio.service

This runs PMP, and pulseaudio comes back online when PMP is closed (but it means no pulse sound, good for watching TV and muting the computer).

Thanks for the writeup. Unfortunately I don’t think this works for me setup because I don’t want to move the mount point of my second drive. I tried creating a bind with the folder that contains my content using fstab, but every time I reboot the folder path of my second drive changes for some reason.

Ex. /run/media/user/Drive becomes /run/media/user/Drive1 which then causes issues with the bind and existing applications that reference that drive.

I also tried both absolute and relative links to the drive because some users have reported that working for them but neither worked for me unfortunately.

This is why we have fstab - we define exactly where the drive mounts every time, also whether it mounts at boot or only when selected.

When I mount my WD disk, it always appears as /run/media/user/W2 and never /run/media/user/W21. I cannot imagine why it would…

Now there’s another option, rather than using fstab.
To get a feeling/idea for this, you can look in /run/systemd/generator for a mounted disk. You’ll see an entry (usually created from fstab) in the form of a file.

For example, my disk /dev/sdb1 is mounted at /mnt/T3.
There is a file created called ‘mnt-T3.mount’ the name replacing the slash with a hyphen for the name and location you want, be it /mnt/T3 or /data/T3 or whatever you like.

cat that file and I find this information:

Automatically generated by systemd-fstab-generator

[Unit]
Documentation=man:fstab(5) man:systemd-fstab-generator(8)
SourcePath=/etc/fstab
After=blockdev@dev-disk-by\x2dlabel-T3.target

[Mount]
Where=/mnt/T3
What=/dev/disk/by-label/T3
Options=nosuid,nodev,nofail,x-gvfs-show

So you can use systemd to mount your disk as you require by creating a file (using by-label or by-UUID as you please) in the location /etc/systemd/system/mnt-T3.mount (the name of the file following the rule for converting the mount location).

Basically, /run is a volatile structure created at boot, and apparently /mnt is also primarily intended as a temporary mount but I never bothered to change it. I’ll look into that when my faulty SSD is replaced and I have an excuse to mess about.

I see no logic in saying you don’t want to change the mount point of your second drive, when you clearly have issues requiring a fixed and reliable mount point.

I see an extra benefit, once sorting out the mount point using something like ‘gnome-disks’ and ‘fstab’ to actually create these systemd mount points yourself.