Skip to main content

Rclone VFS and MergerFS Setup - Scripted

This guide is for advanced users only and it serves as a guide for you to use rclone and mergerFS. The files here are the recommended settings for our slots and will subject to change whenever there are new configurations that are appropriate for the slots. Furthermore, Ultra.cc is not responsible for any data loss or application errors due to this setup should you proceed and will not provide official support for it due to the large volume of variables and different configurations possible with rclone and mergerFS. You may visit the community discord server or the software's respective forums for assistance.

Please make yourself aware of the Ultra.cc Fair Usage Policy. It is very important not to mount your Cloud storage to any of the premade folders, this creates massive instability for both you and everyone else on your server. Always follow the documentation and create a new folder for mounting. It is your responsibility to ensure usage is within acceptable limits. Ignorance is not an excuse.

Please do not mount to any of the default directories such as:
files
media
bin
.apps
.config
www
/home/username/
or any pre-created directory found on your Ultra.cc Slot

This section will teach you how to set up a rclone VFS mount and MergerFS on Ultra.cc slots, and it assumes the following:

  • You have a working rclone setup, especially correctly configured remotes of your preferred cloud storage provider. In this tutorial, we'll be using Google Drive. If you use another cloud storage provider, change the flags that are appropriate to your setup and visit rclone documentation for more information.
  • You have the appropriate knowledge of setting up and running your own systemd services.
  • You are comfortable working in CLI, compiling from sources and setting up cron jobs.

The workflow of the setup is as follows:

  • There are 2 folders, one local and the rclone mount named Mount.
  • These 2 folders are merged via MergerFS and is mounted to another folder. All apps such as Plex, Radarr, Sonarr, and such will be pointed to this folder.
  • When you copy a file to MergerFS, this will be copied to Local First. Directory structures will be retained.
  • A rclone move script moves all the contents inside Local every 19:00 CET, retaining the directory structures.
  • Applications that are pointed to MergerFS wouldn't know the difference.

The Pros of this setup are as follows:

  • New files will be immediately available in Plex and has faster loading times due to it being available locally.
  • Uploads is lesser prone to errors than moving files directly via rclone mount.
  • It's essentially a "set it and forget it "setup.

And, the cons of this setup are as follows:

  • New files will not be available on Google Drive until you run the rclone move script
  • There will be 3 points of failure on this setup, RClone, apps that are connected to the MergerFS folder and MergerFS
  • Monitoring functions such as Plex's "Update my library automatically "will not work for mounts. You may need to set your application to periodically scan the mount.

Before we proceed, it is imperative to stop all rclone/plexdrive processes and stop all the apps that are connected to your rclone mount before proceeding.

Preparation

  • Install and configure rclone if you haven't already. Refer here for more information: Installation, Configuration & Usage of rclone

  • Install MergerFS

    • Run the command given below in your terminal. This should automatically install MergerFS to your slot.
    • Select 1 or 2 when prompted. We recommend selecting 2 when prompted by the installer.
bash <(wget -qO- https://raw.githubusercontent.com/ultraseedbox/UltraSeedbox-Scripts/master/MergerFS-Rclone/Installer%20Scripts/mergerfs-install.sh)
  • To confirm if the installation is completed, do which mergerfs
ultradocs@pollux:~$ which mergerfs 
/home/ultradocs/bin/mergerfs

Setup the Work Flow using a Script

What does the script do?

  • The script will set up the workflow for you.
  • It will create the following directories on your service:
~/Stuff/Mount
~/Stuff/Local/Downloads/torrents
~/Stuff/Local/Downloads/usenet
~/MergerFS/Movies
~/MergerFS/TV Shows
~/scripts
  • The following systemd services will be created by it to mount rclone-vfs and mergerfs respectively:
~/.config/systemd/user/rclone-vfs.service
~/.config/systemd/user/mergerfs.service
  • Finally, it will also save the rclone-upload script and set a cronjob to run it in your crontab. The rclone-upload.sh script will be saved in the following location:
~/scripts/rclone-upload.sh
  • The rclone-upload.sh script will be set to move data to your cloud drive daily at 19:00 CET.

Run the Script

  • To execute the script, run the SSH command given below:
bash <(wget -qO- https://raw.githubusercontent.com/ultraseedbox/UltraSeedbox-Scripts/master/MergerFS-Rclone/rclone-mergerfs.sh)

Helpful Information for managing this new Work Flow

  • Log locations.
    • rclone-vfs mount: ~/scripts/rclone_vfs_mount.log
    • mergerfs mount: ~/scripts/mergerfs_mount.log
    • rclone-upload: ~/scripts/rclone-upload.log
  • systemd commands.
    • Stop systemd services: systemctl --user stop <servicename>.service
    • For example: systemctl --user stop rclone-vfs.service mergerfs.service will stop both the rclone-vfs mount and the mergerfs mount.
    • Restart systemd services: systemctl --user restart <servicename>.service
  • Tips about the rclone-upload script.
    • Manually run the script: bash ~/scripts/rclone-upload.sh.
    • This is in case you want to move the data and not wait for the cronjob to do it.
    • It is also recommended to check the rclone-upload.log the next day after you have finished this setup to confirm that your daily uploads are working.

Set Sonarr Correctly

  • To take advantage of your new MergerFS work flow, you must set up Sonarr correctly.
  • As soon as you login to Sonarr, go to Settings and click on the cog that says Show Advanced.
  • Go to Settings -> Media Management
  • Check Use Hardlinks Instead of Copy under Importing
  • Click on Save Changes in the top-left.

Set Root Folder

  • Go to Settings -> Media Management
  • Click on Add Root Folder under Root Folders
  • Browse to /home/your_username/MergerFS/TV Shows
  • Click Ok.
  • All Series in Sonarr should have /home/your_username/MergerFS/TV Shows as their Root Folder.
    • You can have other Root Folders, but they all should be inside /home/your_username/MergerFS.

Remote Path Mapping

  • Go to Settings -> Download Clients
  • Ensure that you have already set up your Download Clients.
  • Click on the + button to the right-hand side under Remote Path Mappings.
  • Set up the Remote Path Mapping as given below:
Host: {username}.{servername}.usbx.me
Remote Path: /home/your_username/Stuff/Local/Downloads
Local Path: /home/your_username/MergerFS/Downloads
  • Click on Save.

Connect Plex Media Server / Emby

Plex Media Server
  • Go to Settings -> Connect and click on the + button.
  • Choose Plex Media Server.
  • Set it up with the details given below:
Name : Anything as per your preference.
Notification Triggers: Check `On Download`, `On Upgrade`, `On Rename`.
Host: {servername}.usbx.me
Port: Plex Media Server's port as given in your Ultra Control Panel.
Use SSL: Unchecked
Update Library: Checked
  • Click on Authenticate with Plex.tv.
  • It will autoamtically fill the Auth Token field.
  • Click on Test and then Save.
Emby
  • Login to your Emby instance.
  • Go to Manage Emby Server -> Advanced -> Api Keys
  • Click on + New Api Key and add the App name as Sonarr. Then click ok.
  • Now, go to Settings -> Connect and click on the + button in Sonarr.
  • Choose Emby.
  • Set it up with the details given below:
Name : Anything as per your preference.
Notification Triggers: Check `On Download`, `On Upgrade`, `On Rename`.
Host: {servername}.usbx.me
Port: Emby's port as given in your Ultra Control Panel.
Use SSL: Unchecked
API Key: Paste the one which was created earlier.
Update Library: Checked
  • Click on Test and then Save.

Set Radarr Correctly

  • To take advantage of your new MergerFS work flow, you must set up Radarr correctly.
  • As soon as you login to Radarr, go to Settings and click on the cog that says Show Advanced.
  • Go to Settings -> Media Management
  • Check Use Hardlinks Instead of Copy under Importing
  • Click on Save Changes in the top-left.

Set Root Folder

  • Go to Settings -> Media Management
  • Click on Add Root Folder under Root Folders
  • Browse to /home/your_username/MergerFS/Movies
  • Click Ok.
  • All Series in Radarr should have /home/your_username/MergerFS/Movies as their Root Folder.
    • You can have other Root Folders, but they all should be inside /home/your_username/MergerFS.

Remote Path Mapping

  • Go to Settings -> Download Clients
  • Ensure that you have already set up your Download Clients.
  • Click on the + button to the right-hand side under Remote Path Mappings.
  • Set up the Remote Path Mapping as given below:
Host: {username}.{servername}.usbx.me
Remote Path: /home/your_username/Stuff/Local/Downloads
Local Path: /home/your_username/MergerFS/Downloads
  • Click on Save.

Connect Plex Media Server / Emby

Plex Media Server
  • Go to Settings -> Connect and click on the + button.
  • Choose Plex Media Server.
  • Set it up with the details given below:
Name : Anything as per your preference.
Notification Triggers: Check `On Download`, `On Upgrade`, `On Rename`.
Host: {servername}.usbx.me
Port: Plex Media Server's port as given in your Ultra Control Panel.
Use SSL: Unchecked
Update Library: Checked
  • Click on Authenticate with Plex.tv.
  • It will autoamtically fill the Auth Token field.
  • Click on Test and then Save.
Emby
  • Login to your Emby instance.
  • Go to Manage Emby Server -> Advanced -> Api Keys
  • Click on + New Api Key and add the App name as Radarr. Then click ok.
  • Now, go to Settings -> Connect and click on the + button in Radarr.
  • Choose Emby.
  • Set it up with the details given below:
Name : Anything as per your preference.
Notification Triggers: Check `On Download`, `On Upgrade`, `On Rename`.
Host: {servername}.usbx.me
Port: Emby's port as given in your Ultra Control Panel.
Use SSL: Unchecked
API Key: Paste the one which was created earlier.
Update Library: Checked
  • Click on Test and then Save.

Set your Download Clients Correctly

  • Sonarr and Radarr both must add their downloads to directories inside /home/your_username/Stuff/Local/Downloads.
  • To achieve this, you will have to make changes in your download clients.

Torrent Clients

rTorrent
  • In Sonarr/Radarr itself, go to Settings -> Download Clients.
  • Click on the rTorrent download client.
  • Locate the Directory setting and set it to: /home/your_username/Stuff/Local/Downloads/torrents
  • Click on Save.
Deluge
  • In Deluge, it's default download path will have to changed. Therefore, it is not recommmended to use Deluge in this work flow.
  • Login to your Deluge instance.
  • Click on Preferences and go to Downloads
  • Set the Download to: folder to /home/your_username/Stuff/Local/Downloads/torrents
  • Click on Apply, and then Ok.
qBittorrent
  • Login to your qBittorrent instance.
  • Go to Options -> Downloads.
  • Under Saving Management, set the following settings:
Default Torrent Management Mode: Automatic
When Torrent Category changed: Relocate torrent
  • Click on Save.
  • For Sonarr
    • Find the tv-sonarr category. If your Sonarr is using a different category with qBittorrent, edit that one.
    • Right-click on it and choose Edit category..
    • Set the Save path: to /home/your_username/Stuff/Local/Downloads/torrents
  • For Radarr
    • Find the radarr category. If your Radarr is using a different category with qBittorrent, edit that one.
    • Right-click on it and choose Edit category..
    • Set the Save path: to /home/your_username/Stuff/Local/Downloads/torrents
Transmission
  • In Sonarr/Radarr itself, go to Settings -> Download Clients.
  • Click on the Transmission download client.
  • Locate the Directory setting and set it to: /home/your_username/Stuff/Local/Downloads/torrents
  • Click on Save.

Usenet Clients

  • You can optionally create two more directories to better sort your Series and Movies.
mkdir -p ~/Stuff/Local/Downloads/usenet/Sonarr
mkdir -p ~/Stuff/Local/Downloads/usenet/Radarr
NZBGet
  • For Radarr
    • By default, Radarr sets the NZBGet download client to use the Movies category.
    • You must change the DestDir of this category in your NZBGet instance. If you are using a different category, change the DestDir of that one.
    • Login to your NZBGet instance.
    • Go to CATEGORIES and find the Movies category.
    • Set the DestDir to /home/your_username/Stuff/Local/Downloads/usenet/Radarr
    • Click on Save all changes.
  • For Sonarr
    • By default, Sonarr sets the NZBGet download client to use the tv category. However, this is not already present in NZBGet and often has to be added.
    • You must change the DestDir of the category in your NZBGet instance. If you are using a different category, change the DestDir of that one.
    • Login to your NZBGet instance.
    • Go to CATEGORIES and find the tv category.
    • Set the DestDir to /home/your_username/Stuff/Local/Downloads/usenet/Sonarr
    • Click on Save all changes.
SABnzbd
  • For Radarr
    • By default, Radarr sets the SABnzbd download client to use the movies category.
    • You must change the Folder/Path of this category in your SABnzbd instance. If you are using a different category, change the Folder/Path of that one.
    • Login to your SABnzbd instance.
    • Go to Config -> Categories and find the movies category.
    • Set the Folder/Path to /home/your_username/Stuff/Local/Downloads/usenet/Radarr
    • Click on Save.
  • For Sonarr
    • By default, Sonarr sets the SABnzbd download client to use the tv category.
    • You must change the Folder/Path of this category in your SABnzbd instance. If you are using a different category, change the Folder/Path of that one.
    • Login to your SABnzbd instance.
    • Go to Config -> Categories and find the tv category.
    • Set the Folder/Path to /home/your_username/Stuff/Local/Downloads/usenet/Sonarr
    • Click on Save.

Set your Media Server Applications Correctly

Plex Media Server

  • Your Movies library should point to the following folder: /home/your_username/MergerFS/Movies.
  • Your TV Shows library should point to the following folder: /home/your_username/MergerFS/TV Shows.
  • Any other library folders should also be inside /home/your_username/MergerFS.
  • Official Plex support article on Editing Libraries.

Emby

  • Your Movies library should point to the following folder: /home/your_username/MergerFS/Movies.
  • Your TV Shows library should point to the following folder: /home/your_username/MergerFS/TV Shows.
  • Any other library folders should also be inside /home/your_username/MergerFS.

JellyFin

  • Your Movies library should point to the following folder: /home/your_username/MergerFS/Movies.
  • Your TV Shows library should point to the following folder: /home/your_username/MergerFS/TV Shows.
  • Any other library folders should also be inside /home/your_username/MergerFS.