Team Drive + Rclone Mount + Plex? Why doesn't this work? Maximally frustrating

What is the problem you are having with rclone?

I don't know that this is a problem with rclone, but I have to start somewhere.

Run the command 'rclone version' and share the full output of the command.

rclone v1.59.0
  • os/version: ubuntu 18.04 (64 bit)
  • os/kernel: 4.15.0-176-generic (x86_64)
  • os/type: linux
  • os/arch: amd64
  • go/version: go1.18.3
  • go/linking: static
  • go/tags: none

Which cloud storage system are you using? (eg Google Drive)

Google Team Drive

The command you were trying to run (eg rclone copy /tmp remote:tmp)

rclone mount newplex: newplex/ --vfs-cache-mode full --allow-other --vfs-write-back 3h --vfs-read-ahead 1G --timeout 1h

The rclone config contents with secrets removed.

Encrypted

The actual problem I'm having, I don't understand.

I've been using a VPS to run Plex, and it has been working fine on my unlimited google drive. I don't feel comfortable having my gdrive accessible via rclone on the VPS, so I decided to move plex to a shared drive, and access only through there.

One back end works, one doesn't.

Configuration A:
UnlimitedGdrive: -> Crypt -> Union
Then I'm mounting the union.
This command works just fine:

rclone mount union: media --vfs-cache-mode writes --vfs-read-ahead 1G --tpslimit 10 --tpslimit-burst 10 --allow-other --umask 000 --allow-non-empty --timeout 1h

I'm trying to do something new, though.

My newplex: remote is a crypt of a teamdrive.

When I mount newplex: I can ls through all the files, I can see everything from the filesystem. Plex cannot see anything in there. Plex is considering the mounted directory to be empty, almost as if --allow-other isn't working.

I don't know what to do next. The only difference I can think of is that it's a team drive... but why should that matter? If I can mount the crypt and ls through it, and du -sh returns 11G of video in there... why can't plex see it?
I've even tried using an identical mount command, and still nothing.

Please help

EDIT: Is there an advanced config I need to enable with the Team Drive? I apologize for not posting my configs, I'm not sure how I can do that... They're encrypted.

EDIT 2:
newplex: mount with -vv. I also cd'd into the dir, and ls'd it and can see what belongs there is present. Then I used mkdir in there with a test directory.


2022/07/25 19:50:07 DEBUG : rclone: Version "v1.59.0" starting with parameters ["rclone" "mount" "newplex:" "newplex/" "--vfs-cache-mode" "full" "--allow-other" "--vfs-write-back" "3h" "--vfs-read-ahead" "1G" "--timeout" "1h" "-vv"]
2022/07/25 19:50:07 DEBUG : Creating backend with remote "newplex:"
2022/07/25 19:50:07 DEBUG : Using RCLONE_CONFIG_PASS password.
2022/07/25 19:50:07 DEBUG : Using config file from "/home/user/.config/rclone/rclone.conf"
2022/07/25 19:50:07 DEBUG : Creating backend with remote "team-gdrive:Encrypted"
2022/07/25 19:50:08 DEBUG : vfs cache: root is "/home/user/.cache/rclone"
2022/07/25 19:50:08 DEBUG : vfs cache: data root is "/home/user/.cache/rclone/vfs/newplex"
2022/07/25 19:50:08 DEBUG : vfs cache: metadata root is "/home/user/.cache/rclone/vfsMeta/newplex"
2022/07/25 19:50:08 DEBUG : Creating backend with remote "/home/user/.cache/rclone/vfs/newplex/"
2022/07/25 19:50:08 DEBUG : Creating backend with remote "/home/user/.cache/rclone/vfsMeta/newplex/"
2022/07/25 19:50:08 DEBUG : Encrypted drive 'newplex:': Mounting on "newplex/"
2022/07/25 19:50:08 INFO  : vfs cache: cleaned: objects 0 (was 0) in use 0, to upload 0, uploading 0, total size 0 (was 0)
2022/07/25 19:50:08 DEBUG : : Root:
2022/07/25 19:50:08 DEBUG : : >Root: node=/, err=<nil>
2022/07/25 19:51:08 DEBUG : Google drive root 'Encrypted': Checking for changes on remote
2022/07/25 19:51:08 INFO  : vfs cache: cleaned: objects 0 (was 0) in use 0, to upload 0, uploading 0, total size 0 (was 0)
2022/07/25 19:52:01 DEBUG : /: Attr:
2022/07/25 19:52:01 DEBUG : /: >Attr: attr=valid=1s ino=0 size=0 mode=drwxr-xr-x, err=<nil>
2022/07/25 19:52:02 DEBUG : : Statfs:
2022/07/25 19:52:03 DEBUG : Google drive root 'Encrypted': read info from Shared Drive "External"
2022/07/25 19:52:03 DEBUG : : >Statfs: stat={Blocks:274877906944 Bfree:274877906944 Bavail:274877906944 Files:1000000000 Ffree:1000000000 Bsize:4096 Namelen:255 Frsize:4096}, err=<nil>
2022/07/25 19:52:03 DEBUG : /: Attr:
2022/07/25 19:52:03 DEBUG : /: >Attr: attr=valid=1s ino=0 size=0 mode=drwxr-xr-x, err=<nil>
2022/07/25 19:52:03 DEBUG : : Statfs:
2022/07/25 19:52:03 DEBUG : : >Statfs: stat={Blocks:274877906944 Bfree:274877906944 Bavail:274877906944 Files:1000000000 Ffree:1000000000 Bsize:4096 Namelen:255 Frsize:4096}, err=<nil>
2022/07/25 19:52:03 DEBUG : : Statfs:
2022/07/25 19:52:03 DEBUG : : >Statfs: stat={Blocks:274877906944 Bfree:274877906944 Bavail:274877906944 Files:1000000000 Ffree:1000000000 Bsize:4096 Namelen:255 Frsize:4096}, err=<nil>
2022/07/25 19:52:03 DEBUG : : Statfs:
2022/07/25 19:52:03 DEBUG : : >Statfs: stat={Blocks:274877906944 Bfree:274877906944 Bavail:274877906944 Files:1000000000 Ffree:1000000000 Bsize:4096 Namelen:255 Frsize:4096}, err=<nil>
2022/07/25 19:52:08 DEBUG : Google drive root 'Encrypted': Checking for changes on remote
2022/07/25 19:52:08 INFO  : vfs cache: cleaned: objects 0 (was 0) in use 0, to upload 0, uploading 0, total size 0 (was 0)
2022/07/25 19:52:43 DEBUG : /: Attr:
2022/07/25 19:52:43 DEBUG : /: >Attr: attr=valid=1s ino=0 size=0 mode=drwxr-xr-x, err=<nil>
2022/07/25 19:52:44 DEBUG : /: ReadDirAll:
2022/07/25 19:52:44 DEBUG : /: >ReadDirAll: item=7, err=<nil>
2022/07/25 19:52:44 DEBUG : /: Lookup: name="Movies"
2022/07/25 19:52:44 DEBUG : /: >Lookup: node=Movies/, err=<nil>
2022/07/25 19:52:44 DEBUG : Movies/: Attr:
2022/07/25 19:52:44 DEBUG : Movies/: >Attr: attr=valid=1s ino=0 size=0 mode=drwxr-xr-x, err=<nil>
2022/07/25 19:52:44 DEBUG : /: Lookup: name="TV Shows"
2022/07/25 19:52:44 DEBUG : /: >Lookup: node=TV Shows/, err=<nil>
2022/07/25 19:52:44 DEBUG : TV Shows/: Attr:
2022/07/25 19:52:44 DEBUG : TV Shows/: >Attr: attr=valid=1s ino=0 size=0 mode=drwxr-xr-x, err=<nil>
2022/07/25 19:52:44 DEBUG : /: Lookup: name="Testing"
2022/07/25 19:52:44 DEBUG : /: >Lookup: node=Testing/, err=<nil>
2022/07/25 19:52:44 DEBUG : Testing/: Attr:
2022/07/25 19:52:44 DEBUG : Testing/: >Attr: attr=valid=1s ino=0 size=0 mode=drwxr-xr-x, err=<nil>
2022/07/25 19:52:51 DEBUG : /: Attr:
2022/07/25 19:52:51 DEBUG : /: >Attr: attr=valid=1s ino=0 size=0 mode=drwxr-xr-x, err=<nil>
2022/07/25 19:52:56 DEBUG : /: Lookup: name="test-dir"
2022/07/25 19:52:56 DEBUG : /: >Lookup: node=<nil>, err=no such file or directory
2022/07/25 19:52:56 DEBUG : /: Mkdir: name="test-dir"
2022/07/25 19:52:56 DEBUG : : Added virtual directory entry vAddDir: "test-dir"
2022/07/25 19:52:56 DEBUG : /: >Mkdir: node=test-dir/, err=<nil>
2022/07/25 19:52:56 DEBUG : test-dir/: Attr:
2022/07/25 19:52:56 DEBUG : test-dir/: >Attr: attr=valid=1s ino=0 size=0 mode=drwxr-xr-x, err=<nil>
2022/07/25 19:52:59 DEBUG : /: Attr:
2022/07/25 19:52:59 DEBUG : /: >Attr: attr=valid=1s ino=0 size=0 mode=drwxr-xr-x, err=<nil>
2022/07/25 19:53:08 DEBUG : Google drive root 'Encrypted': Checking for changes on remote
2022/07/25 19:53:08 INFO  : vfs cache: cleaned: objects 0 (was 0) in use 0, to upload 0, uploading 0, total size 0 (was 0)
2022/07/25 19:53:08 DEBUG : : changeNotify: relativePath="test-dir", type=0
2022/07/25 19:53:08 DEBUG : : invalidating directory cache
2022/07/25 19:53:08 DEBUG : : >changeNotify: 

I just don't get it. Everything looks fine to me.

Why would Plex be able to see this mount:
Gdrive: -> Crypt: -> Union:
But not this mount:
TeamDrive: -> Crypt:

I can ls in there and see everything that should be there.... I just don't understand, and it's infuriating. I also don't have sudo access so I'm limited in what I can do

Without seeing the rclone configuration, it's pretty difficult to guess what's going on as it's something in the config if you aren't seeing files.

It took some work, but I figured out the password to unencrypt it.

Does this help?

[gdrive]
type = drive
scope = drive
token = {"access_token":"yadgasdfasdf
team_drive =

[plex]
type = crypt
remote = gdrive:plex
password = asdgdasdf
password2 = asdfawrea

[union]
type = union
upstreams = plex::ro /home/user/local

[team-gdrive]
type = drive
scope = drive
token = {"access_token":"j8g9paerpiauslhfkdj$
team_drive = 0AIsJtkVsfVwRUk9PVA
root_folder_id =

[newplex]
type = crypt
remote = team-gdrive:Encrypted
password = jaelksdf
password2 = uialsasdfj


What of those remotes you have setup aren't working?

What's the output of the problematic remote with a rclone ls ?

The output looks fine. rclone ls shows me what's stored in there.

Further, when I mount the remote I want to read with Plex, I can ls the mounted directory and see everything. I can mkdir in there, and the new folders show up in the rclone remote.
So it seems to be mount-related somehow.

When I browse to the folder from within Plex, it appears as if its empty. When I manually input the full path for plex to use and scan for media, it comes up empty.

But if I ls the directory that's mounted, I see everything that's there. Even if I copy something new into the remote from a different machine, it shows up fairly quickly in the mount. Plex just can't see into there, even with --allow-other and I just don't understand what could be causing this.

I can't offer much without specific details of which ones are working / what's not working and some output to look at.

You have to share specifics so we can help out.

Sounds possibly like a permission error on the mount. Does plex have the rights to read the mounted directory?

The encrypted gdrive union mount works.
The one that isn't working is the encrypted google team drive vfs mount.

The mount that works is union: and the one that doesn't work is called newplex:

For some reason, when I mount newplex: to a directory, Plex cannot see anything in it. Through my terminal, I can ls the directory and see everything that's in the encrypted team gdrive storage. The things I want plex to be able to see, ls can see. I can cp things in and out. All works perfectly fine. Except that Plex cannot see anything in there. It's acting like it's an empty directory. I cannot figure out why.

I would think so. I'm passing --allow-other --umask 000 to the mount. I don't see why plex would be able to see one and not the other. Maybe I need to chown something, I'm not sure. How would I check on this?