Set up an Rclone Mount (using ssh)
December 5th, 2019, 21:30
Written by sc4nd4l
Introduction
In this tutorial we are going to setup an rclone mount via ssh. This will allow you to access files that are on a network location. Rclone can work with Google Drive, Google Cloud Storage, Amazon S3, Dropbox, Amazon Drive, Microsoft OneDrive, Hubic, Backblaze B2 and some more.
Step 1 - Install Prerequisites
Make sure that you have all the needed dependencies such as:
- An updated system - Start by making sure that your system is up-to-date by doing the following command:
sudo apt-get update && sudo apt-get upgrade
- Fuse (needed to be able to mount on UNIX systems)
sudo apt-get install -y fuse
- Screen (needed to be able to run operations in the background of the system)
sudo apt-get install -y screen
- Other tools
sudo apt-get install -y curl unzip nano
* -y
skips the confirmation you get while installing the packages
Step 2 - Install Rclone
Install rclone on your system:
sudo curl https://rclone.org/install.sh | sudo bash
Make sure that fuse supports --allow-other
flag, by typing:
sudo nano /etc/fuse.conf
When the fuse.conf
file is open, make sure you remove the #
before the word user_allow_other
. Once you have done this press Ctrl+X
and then press y
to save.
Step 3 - Add new Rclone remote (Google Drive)
- Type:
rclone config
- Type:
n
Press: Enter - Type:
<nameofyourteamdrive>
Press: Enter - Type:
drive
Press: Enter - Paste yourÂ
client_id
andclient_secret
(To paste in PuTTY simply right click, to copy in PuTTY simply highlight the text. Do not pressCtrl+C
orCtrl+V
) - Type:
drive
Press: Enter - Press: Enter
- Press: Enter
- Type:
n
Press: Enter - Type:
n
Press: Enter - Highlight the link with your mouse
(Note: Do not pressCtrl+C
if you are using PuTTY, highlighting the text with your mouse will copy it).
Then paste the link into a browser window, login with your Google account and press Allow.
It will give you a code. Copy that code and paste it back into your terminal (if you are using PuTTY, use right click). Press: Enter - Type:
y
Press: Enter - Look in the list for your teamdrive and type the number next to this Team Drive. If this is the only Team Drive in your account it will be the number 1, so Type:
1
Press: Enter - Type:
y
Press: Enter - Type:
q
Press: Enter
More providers can be found on rclone.org
You have successfully setup a new Rclone remote.
Step 4 - Run Rclone mount with screen
- Create a new folder for rclone cache
mkdir -p /mnt/shared/config/rclone/cache
- Create a new empty folder to mount on
mkdir /mnt/shared/fusemounts/<yourteamdrivename>
- Create a new named screen
screen -S mount
- Run the following command:Make sure you change
rclone mount <yourteamdrivename>:/ /mnt/shared/fusemounts/<yourteamdrivename> --timeout 1h --tpslimit 10 --dir-cache-time 5m --vfs-cache-mode writes --vfs-cache-max-age 1h --vfs-cache-max-size 100G --vfs-read-chunk-size-limit 1024M --vfs-read-chunk-size 26M --buffer-size 16M --cache-dir /mnt/shared/config/rclone/cache --allow-other --gid 911 --uid 911
<yourteamdrivename>
with the folder you created on Step 4.2 - You can detach from the screen instance by pressing
Ctrl+A
, then letterD
.
You can now check to see if the media files are mounted by typing:
cd /mnt/shared/fusemounts/<yourteamdrivename>
ls
If you can see your remote files it looks like everything is mounted correctly.
Important Notes
- If you want to re-attach to the screen:
screen -r mount
- If you want to unmount fuse itself:
sudo fusermount -uz "/mnt/shared/fusemounts/<yourteamdrivename>"
- Do not use "Repair Permissions" when you have a mounted folder running.
- Do not restart apps (like Plex) when you have a mounted folder, as it will cause your app to hang. You will have to unmount folder first, restart the app (let it fully start) and then mount folder again.
Conclusion
You have successfully setup Rclone and mounted it on a folder. Your apps should be able to see this folder.
You can ask more on our #rclone-plexdrive channel on Discord.