Plex Cloud vs VPS - why we went with a VPS

@jasanson said:
Here is another site (TMH Systems Blog) showing how to implement PlexDrive and Plex. Some good information and well laid out

https://blog.themain.house/connecting-plex-to-google-drive-without-the-api-bans/
https://blog.themain.house/unlimited-storage-for-cloud-homelabbing/

Why do these tutorials continue to use bash scripts to mount this stuff?
SYSTEMD is such a cleaner solution, assuming you are on a modern distro

@hthighway said:

@jasanson said:
Here is another site (TMH Systems Blog) showing how to implement PlexDrive and Plex. Some good information and well laid out

https://blog.themain.house/connecting-plex-to-google-drive-without-the-api-bans/
https://blog.themain.house/unlimited-storage-for-cloud-homelabbing/

Why do these tutorials continue to use bash scripts to mount this stuff?
SYSTEMD is such a cleaner solution, assuming you are on a modern distro

Can you show us your SYSTEMD mount?

@jasanson said:
Can you show us your SYSTEMD mount?

These are about 2 weeks old and I need to update a few things in them, but here is what I roughly use

FYI, i’ve been running side by side a VPS with local disk and plex cloud with gdrive, from several devices and several users, with a large variety of bandwidth

the VPS will win every.single.time.
there have been users that just gave up on using my plex cloud share cause it would be very slow, buffery and would stop streaming.

It’s a shame, cause Cloud seemed a good option, but if it doesnt work, it’s kinda pointless.
I’ll keep it for fallback and long term storage only.

So would I need to still use rclone to mount my GDrive in order to use plexdrive?

@simon_lefisch said:
So would I need to still use rclone to mount my GDrive in order to use plexdrive?

If your media is unencrypted then no all you would need is to mount plexdrive to stream content

@hthighway said:

@jasanson said:
Can you show us your SYSTEMD mount?

These are about 2 weeks old and I need to update a few things in them, but here is what I roughly use
https://github.com/hthighway/scripts/tree/master/plexdrive

Thanks for providing access to that - really helpful

@hthighway ok I’m confused. Sorry, I’m still getting used to Linux.

I currently have a VPS running CentOS which already has my google drive mounted using rclone. I also have script to mount it in /lib/systemd/system named google.service. Since it’s already mounted, do I need to mount it again using plexdrive?

If possible, do you have a write up I can follow? I’ve looked at the tutorial on the plexdrive github but I’m either not understanding correctly or it does not enough info for me to follow (most likely the former). Thanks for any help you can provide.

@simon_lefisch said:
@hthighway ok I’m confused. Sorry, I’m still getting used to Linux.

I currently have a VPS running CentOS which already has my google drive mounted using rclone. I also have script to mount it in /lib/systemd/system named google.service. Since it’s already mounted, do I need to mount it again using plexdrive?

If possible, do you have a write up I can follow? I’ve looked at the tutorial on the plexdrive github but I’m either not understanding correctly or it does not enough info for me to follow (most likely the former). Thanks for any help you can provide.

You’d be swapping your rclone mount for a plexdrive mount.

@simon_lefisch said:
If possible, do you have a write up I can follow? I’ve looked at the tutorial on the plexdrive github but I’m either not understanding correctly or it does not enough info for me to follow (most likely the former). Thanks for any help you can provide.

Here’s a quick summary:

Rclone - mounts, copies, syncs between any combination of Google, OneDrive, DropBox, local file storage, and a number of other services. Also has encrypting capabilities built in so files can be encrypted/decrypted on the fly when mounting/copying/syncing. Lot’s of different settings that come into play for the various methods being used and this allows you to tweak it for your environment, bandwidth and preferred thresholds.

PlexDrive - mounts Google drive locally with pre-canned settings designed to optimize the Plex experience. Has some key parameters that can be tweaked for your environment and to minimize the amount of actual API hits (i.e. file scanning) that occur within Google. Originally built to overcome the frequent bans received by using Rclone and scanning (especially first time) huge libraries.

PlexDrive really does one thing and does it really well: mounts Google for Plex playback, typically on a VPS (but could also be used locally where the Plex server and Plex viewer are on the same network). Its main benefit is that it caches the metadata from Google so, once that’s stored in its local database/cache, a “refresh” of your Plex library happens nearly as fast (or in some cases, faster) than it ever did on a local server, let alone Plex Cloud or Rclone-mounted Google on a VPS.

If you want to copy large amounts of data from location A to location B, you’ll need to use Rclone. If you want to mount something that isn’t Google, you’ll need Rclone. If you want your data encrypted, then you’ll need Rclone.

And that last statement is where you’re probably getting confused. Many people like me have a Google drive that we encrypted and mounted with Rclone. So, switching to PlexDrive means we have to decrypt everything and re-upload it, right? Wrong! Since Rclone can mount (or in this case, remount) a local directory as another drive, we simply use this process:

  1. Mount Google via PlexDrive to /mnt/AAA
  2. Remount /mnt/AAA using Rclone and its decrypter to /mnt/BBB
  3. Point Plex to look for its videos under /mnt/BBB/TV and /mnt/BBB/Movies

Step one gives you all the benefits of a buffering mount with the file system pointers stored locally. Step two decrypts it so that you can actually use that data. Step 3 is, well, essential since you have to point Plex somewhere! Note that Rclone is acting locally-only. It never talks to Google.

Likewise, to copy new files up to Google, you use the Rclone command (either Rclone sync or Rclone copy) along with the encrypted configuration. This means that your Rclone config file has at least two configurations in it. One to talk directly to Google in encrypted format and the other to talk to the local file system for remounting the PlexDrive directory.

If you’re not using encryption, then step 2 is eliminated and replace BBB with AAA is step 3. You’ll still use Rclone to copy files up to Google, however.

@kelinger said:

@simon_lefisch said:
If possible, do you have a write up I can follow? I’ve looked at the tutorial on the plexdrive github but I’m either not understanding correctly or it does not enough info for me to follow (most likely the former). Thanks for any help you can provide.

Here’s a quick summary:

Rclone - mounts, copies, syncs between any combination of Google, OneDrive, DropBox, local file storage, and a number of other services. Also has encrypting capabilities built in so files can be encrypted/decrypted on the fly when mounting/copying/syncing. Lot’s of different settings that come into play for the various methods being used and this allows you to tweak it for your environment, bandwidth and preferred thresholds.

PlexDrive - mounts Google drive locally with pre-canned settings designed to optimize the Plex experience. Has some key parameters that can be tweaked for your environment and to minimize the amount of actual API hits (i.e. file scanning) that occur within Google. Originally built to overcome the frequent bans received by using Rclone and scanning (especially first time) huge libraries.

PlexDrive really does one thing and does it really well: mounts Google for Plex playback, typically on a VPS (but could also be used locally where the Plex server and Plex viewer are on the same network). Its main benefit is that it caches the metadata from Google so, once that’s stored in its local database/cache, a “refresh” of your Plex library happens nearly as fast (or in some cases, faster) than it ever did on a local server, let alone Plex Cloud or Rclone-mounted Google on a VPS.

If you want to copy large amounts of data from location A to location B, you’ll need to use Rclone. If you want to mount something that isn’t Google, you’ll need Rclone. If you want your data encrypted, then you’ll need Rclone.

And that last statement is where you’re probably getting confused. Many people like me have a Google drive that we encrypted and mounted with Rclone. So, switching to PlexDrive means we have to decrypt everything and re-upload it, right? Wrong! Since Rclone can mount (or in this case, remount) a local directory as another drive, we simply use this process:

  1. Mount Google via PlexDrive to /mnt/AAA
  2. Remount /mnt/AAA using Rclone and its decrypter to /mnt/BBB
  3. Point Plex to look for its videos under /mnt/BBB/TV and /mnt/BBB/Movies

Step one gives you all the benefits of a buffering mount with the file system pointers stored locally. Step two decrypts it so that you can actually use that data. Step 3 is, well, essential since you have to point Plex somewhere! Note that Rclone is acting locally-only. It never talks to Google.

Likewise, to copy new files up to Google, you use the Rclone command (either Rclone sync or Rclone copy) along with the encrypted configuration. This means that your Rclone config file has at least two configurations in it. One to talk directly to Google in encrypted format and the other to talk to the local file system for remounting the PlexDrive directory.

If you’re not using encryption, then step 2 is eliminated and replace BBB with AAA is step 3. You’ll still use Rclone to copy files up to Google, however.

Thanks for this info. My drive in not encrypted.

As far as mounting with plexdrive, I have this script for rclone:

[Unit]
Description=Mount Google to /mnt/Google
After=syslog.target local-fs.target network.target
[Service]
Type=simple
User=root
ExecStartPre=-/bin/mkdir /mnt/Google
ExecStart=/usr/sbin/rclone mount
–config /home/yourusername/.config/rclone/rclone.conf
–read-only
–allow-other
–allow-non-empty
–buffer-size 64M
Google:/Plex /mnt/Google
ExecStop=/bin/fusermount -u //mnt/Google
ExecStop=/bin/rmdir /mnt/Google
Restart=always
[Install]
WantedBy=multi-user.target

Should I use this for plexdrive, but just replace anything that says rclone with plexdrive? I’ve tried running plexdrive config but nothing comes up.

@simon_lefisch said:
Thanks for this info. My drive in not encrypted.

As far as mounting with plexdrive, I have this script for rclone:

Here’s what I use for my plexdrive.service:

[Unit]
Description=Mount Google to /mnt/Google (plexdrive)
After=syslog.target local-fs.target network.target

[Service]
Type=simple
User=root
Group=root
ExecStartPre=-/bin/mkdir /mnt/Google
ExecStart=/root/bin/plexdrive \
        --config=/root/.config/plexdrive/Google \
        --clear-chunk-max-size=50G \
        --fuse-options=allow_other \
        --temp=/tmp/Google-temp \
        /mnt/Google
ExecStop=/bin/fusermount -u -z /mnt/Google
ExecStop=/bin/rmdir /mnt/Google
ExecStop=/bin/rm -r /tmp/Google-temp
Restart=always

[Install]
WantedBy=default.target

Before just copying the above, though, make sure that the paths I used are what you also want to use (you may have put the plexdrive binary somewhere else) and that my chunk size of 50G isn’t too big for your server. If you only have one PlexDrive configuration, you can leave off the --config line. If you don’t want to clear your temp files between stop/starts, remove the last ExecStop line.

The Restart=always is going to cause (hopefully) PlexDrive to restart immediately after failure. Thus, you’ll want to make sure this whole thing works before you just kick it off as a service since it could thrash about starting and stopping a lot if the config doesn’t work for you.

To test this manually (recommended) just copy the ExecStart line AFTER the = until the last e in /mnt/Google and then paste it at the BASH prompt.

@kelinger Ok thanks. that’s for the most part the same as the current script I’m using with some mods.

But heres my problem now…when I run “ls /mnt” I see Plexdrive (that’s what I named my GDrive). When I run “ls /mnt/Plexdrive” ny sub-folders don’t show. I think it has to do with the client id & client secret, but not sure how to set that up. Any ideas?

Edit: nvm. Finally got it figured out. Thanks for the help @kelinger

@simon_lefisch said:
But heres my problem now…when I run “ls /mnt” I see Plexdrive (that’s what I named my GDrive). When I run “ls /mnt/Plexdrive” ny sub-folders don’t show. I think it has to do with the client id & client secret, but not sure how to set that up. Any ideas?

Well, since you got it working, this response may or may not be related. But, it sounds like you weren’t actually mounted. A quick check is to run:
mountpoint /mnt/Plexdrive
If it says “/mnt/Plexdrive is a mountpoint” then you’re mounted but just not seeing anything (or, specifically to Plexdrive, it could still be building the file lists and cache). If it says “/mnt/Plexdrive is not a mountpoint” then its just your plain, ordinary directory and the mounting processed failed or stopped running.

@per_PLEX_ed Now that amazon is dropping unlimited storage for ACD, what are your plans?

for those mounting on a vps, hubic sounds promising
btw, i compiled a few provider options

Hubic definitely looks attractive, especially considering one of my VPSs would be local to it. However, in a quick search, I see a number of articles/posts on the web about Hubic being mainly a backup technology. That is, you can mount it with fuse but any file access causes the driver to download the complete file before processing it (that is, not just looking at the beginning or key parts of the 10 GB file but actually pulling down all 10 GB to get the metadata). That initial index is essentially going to download your whole library a file at a time (and then dispose of it 10 seconds later).

Some of that info was dated, though, so there may have been improvements with the native Hubic fuse driver. Do you know if Rclone handles it differently?

@PhillyUrbs said:
@per_PLEX_ed Now that amazon is dropping unlimited storage for ACD, what are your plans?

Long answer: I don’t think Amazon dropped unlimited storage, however they did drop support for both Rclone and acd_cli. This means that it was already useless for Plex Cloud, but now it also has become useless on my VPS. I had a few of those “rogue” eBay accounts but those were deleted by Google a, so I had a choice of either abandoning the idea of Plex Cloud AND VPS altogether, or signing up for Gsuite. I am currently using their trial and things run pretty smoothly indeed. I got a free year of ACD which will run out in January, after that I will drop them and continue to use Gsuite. Fingers crossed they won’t change the rules either!

Short answer: I signed up with Gsuite Business and so far, very happy with it :smile:

EDIT: Oh my, you are QUITE right, they are going to end unlimited storage… funny I should hear this from you instead of from Amazon :frowning: Amazon ends its unlimited cloud storage plan | TechCrunch

@PhillyUrbs said:
Now that amazon is dropping unlimited storage for ACD, what are your plans?

I realize that Plex Cloud and ACD went separate ways more than 6 months ago so this announcement doesn’t directly affect Plex Cloud. However, if the bigger competition (Microsoft, Dropbox, and ACD) no longer offer unlimited storage, will Google be next? If so, you have to feel bad for the Plex Cloud team as the service becomes less attractive without a large storage option (or with the large storage costs of multi-TB solutions).

I think its unlikely that Google will step away from unlimited Drive accounts as they are committed to Google Suites Business and maybe more importantly for them Google Edu suites that provide unlimited storage.

They want students and businesses to use their product ecosystem and they in turn generate valuable data for targeted ads.

Its possible that they will start to enforce the Google Suites Business 5 user minimum.

They have been shutting down illegal Ebay accounts but for paying customers they get twice what Amazon was charging and all of the other Google ecosystem benefits.