Guide: How To Use Rclone To Mount Cloud Drives And Play Files


DZMM

Recommended Posts

Anyone else getting dropouts on the MergerFS mount? My mount seemed to have gone down last night. When I try to re-run the mount script, all I see in the logs is:
 

28.12.2020 13:54:08 INFO: Creating local folders.
28.12.2020 13:54:08 INFO: Creating MergerFS folders.

Rebooting helps, but it goes down again fairly quickly. Started happening last night . 

 

Link to comment

Hey there, 

 

Im sure I have everything set up properly but when I add a file in the mount_mergerfs in the gdrive folder (not using crypt for testing) it doesnt show up on my google drive on the site automatically after a few seconds. But if I add something to my google drive folder on the Google website it shows up in the mount_mergerfs folder after a few seconds.

 

I know that Google checks for changes thier end, But does it not work the other way round? 

 

I don't know where to look for an error.

 

I guess it only polls when a file is added directly on the Google drive site? And Google drive website doesn't poll when something is put into mount_mergerfs?

 

Hopefully I explained it well enough.

 

Thanks for any help :)

Edited by AlexGreenUK
Link to comment
3 hours ago, AlexGreenUK said:

Hey there, 

 

Im sure I have everything set up properly but when I add a file in the mount_mergerfs in the gdrive folder (not using crypt for testing) it doesnt show up on my google drive on the site automatically after a few seconds. But if I add something to my google drive folder on the Google website it shows up in the mount_mergerfs folder after a few seconds.

 

I know that Google checks for changes thier end, But does it not work the other way round? 

 

I don't know where to look for an error.

 

I guess it only polls when a file is added directly on the Google drive site? And Google drive website doesn't poll when something is put into mount_mergerfs?

 

Hopefully I explained it well enough.

 

Thanks for any help :)

Post your rclone config and mount script please.

Link to comment
4 hours ago, DZMM said:

Post your rclone config and mount script please.

[gdrive]
type = drive
client_id = #################
client_secret = ###########
scope = drive
token = {"access_token":"#############"}
#!/bin/bash

######################
#### Mount Script ####
######################
## Version 0.96.9.2 ##
######################

####### EDIT ONLY THESE SETTINGS #######

# INSTRUCTIONS
# 1. Change the name of the rclone remote and shares to match your setup
# 2. NOTE: enter RcloneRemoteName WITHOUT ':'
# 3. Optional: include custom command and bind mount settings
# 4. Optional: include extra folders in mergerfs mount

# REQUIRED SETTINGS
RcloneRemoteName="gdrive" # Name of rclone remote mount WITHOUT ':'. NOTE: Choose your encrypted remote for sensitive data
RcloneMountShare="/mnt/user/mount_rclone" # where your rclone remote will be located without trailing slash  e.g. /mnt/user/mount_rclone
RcloneMountDirCacheTime="720h" # rclone dir cache time
LocalFilesShare="/mnt/user" # location of the local files and MountFolders you want to upload without trailing slash to rclone e.g. /mnt/user/local. Enter 'ignore' to disable
RcloneCacheShare="/mnt/user/mount_rclone" # location of rclone cache files without trailing slash e.g. /mnt/user0/mount_rclone
RcloneCacheMaxSize="400G" # Maximum size of rclone cache
RcloneCacheMaxAge="336h" # Maximum age of cache files
MergerfsMountShare="/mnt/user/mount_mergerfs" # location without trailing slash  e.g. /mnt/user/mount_mergerfs. Enter 'ignore' to disable
#DockerStart="nzbget plex sonarr radarr ombi" # list of dockers, separated by space, to start once mergerfs mount verified. Remember to disable AUTOSTART for dockers added in docker settings page
#MountFolders=\{"downloads/complete,downloads/intermediate,downloads/seeds,movies,tv"\} # comma separated list of folders to create within the mount

# Note: Again - remember to NOT use ':' in your remote name above

# OPTIONAL SETTINGS

# Add extra paths to mergerfs mount in addition to LocalFilesShare
LocalFilesShare2="ignore" # without trailing slash e.g. /mnt/user/other__remote_mount/or_other_local_folder.  Enter 'ignore' to disable
LocalFilesShare3="ignore"
LocalFilesShare4="ignore"

# Add extra commands or filters
Command1="--rc"
Command2=""
Command3=""
Command4=""
Command5=""
Command6=""
Command7=""
Command8=""

CreateBindMount="N" # Y/N. Choose whether to bind traffic to a particular network adapter
RCloneMountIP="192.168.1.252" # My unraid IP is 172.30.12.2 so I create another similar IP address
NetworkAdapter="eth0" # choose your network adapter. eth0 recommended
VirtualIPNumber="2" # creates eth0:x e.g. eth0:1.  I create a unique virtual IP addresses for each mount & upload so I can monitor and traffic shape for each of them

####### END SETTINGS #######

###############################################################################
#####   DO NOT EDIT ANYTHING BELOW UNLESS YOU KNOW WHAT YOU ARE DOING   #######
###############################################################################

####### Preparing mount location variables #######
RcloneMountLocation="$RcloneMountShare/$RcloneRemoteName" # Location for rclone mount
LocalFilesLocation="$LocalFilesShare/$RcloneRemoteName" # Location for local files to be merged with rclone mount
MergerFSMountLocation="$MergerfsMountShare/$RcloneRemoteName" # Rclone data folder location

####### create directories for rclone mount and mergerfs mounts #######
mkdir -p /mnt/user/appdata/other/rclone/remotes/$RcloneRemoteName # for script files
mkdir -p $RcloneCacheShare/cache/$RcloneRemoteName # for cache files
if [[  $LocalFilesShare == 'ignore' ]]; then
	echo "$(date "+%d.%m.%Y %T") INFO: Not creating local folders as requested."
	LocalFilesLocation="/tmp/$RcloneRemoteName"
	eval mkdir -p $LocalFilesLocation
else
	echo "$(date "+%d.%m.%Y %T") INFO: Creating local folders."
	eval mkdir -p $LocalFilesLocation/"$MountFolders"
fi
mkdir -p $RcloneMountLocation

if [[  $MergerfsMountShare == 'ignore' ]]; then
	echo "$(date "+%d.%m.%Y %T") INFO: Not creating MergerFS folders as requested."
else
	echo "$(date "+%d.%m.%Y %T") INFO: Creating MergerFS folders."
	mkdir -p $MergerFSMountLocation
fi


#######  Check if script is already running  #######
echo "$(date "+%d.%m.%Y %T") INFO: *** Starting mount of remote ${RcloneRemoteName}"
echo "$(date "+%d.%m.%Y %T") INFO: Checking if this script is already running."
if [[ -f "/mnt/user/appdata/other/rclone/remotes/$RcloneRemoteName/mount_running" ]]; then
	echo "$(date "+%d.%m.%Y %T") INFO: Exiting script as already running."
	exit
else
	echo "$(date "+%d.%m.%Y %T") INFO: Script not running - proceeding."
	touch /mnt/user/appdata/other/rclone/remotes/$RcloneRemoteName/mount_running
fi

####### Checking have connectivity #######

echo "$(date "+%d.%m.%Y %T") INFO: *** Checking if online"
ping -q -c2 google.com > /dev/null # -q quiet, -c number of pings to perform
if [ $? -eq 0 ]; then # ping returns exit status 0 if successful
	echo "$(date "+%d.%m.%Y %T") PASSED: *** Internet online"
else
	echo "$(date "+%d.%m.%Y %T") FAIL: *** No connectivity.  Will try again on next run"
	rm /mnt/user/appdata/other/rclone/remotes/$RcloneRemoteName/mount_running
	exit
fi

#######  Create Rclone Mount  #######

# Check If Rclone Mount Already Created
if [[ -f "$RcloneMountLocation/mountcheck" ]]; then
	echo "$(date "+%d.%m.%Y %T") INFO: Success ${RcloneRemoteName} remote is already mounted."
else
	echo "$(date "+%d.%m.%Y %T") INFO: Mount not running. Will now mount ${RcloneRemoteName} remote."
# Creating mountcheck file in case it doesn't already exist
	echo "$(date "+%d.%m.%Y %T") INFO: Recreating mountcheck file for ${RcloneRemoteName} remote."
	touch mountcheck
	rclone copy mountcheck $RcloneRemoteName: -vv --no-traverse
# Check bind option
	if [[  $CreateBindMount == 'Y' ]]; then
		echo "$(date "+%d.%m.%Y %T") INFO: *** Checking if IP address ${RCloneMountIP} already created for remote ${RcloneRemoteName}"
		ping -q -c2 $RCloneMountIP > /dev/null # -q quiet, -c number of pings to perform
		if [ $? -eq 0 ]; then # ping returns exit status 0 if successful
			echo "$(date "+%d.%m.%Y %T") INFO: *** IP address ${RCloneMountIP} already created for remote ${RcloneRemoteName}"
		else
			echo "$(date "+%d.%m.%Y %T") INFO: *** Creating IP address ${RCloneMountIP} for remote ${RcloneRemoteName}"
			ip addr add $RCloneMountIP/24 dev $NetworkAdapter label $NetworkAdapter:$VirtualIPNumber
		fi
		echo "$(date "+%d.%m.%Y %T") INFO: *** Created bind mount ${RCloneMountIP} for remote ${RcloneRemoteName}"
	else
		RCloneMountIP=""
		echo "$(date "+%d.%m.%Y %T") INFO: *** Creating mount for remote ${RcloneRemoteName}"
	fi
# create rclone mount
	rclone mount \
	$Command1 $Command2 $Command3 $Command4 $Command5 $Command6 $Command7 $Command8 \
	--allow-other \
	--dir-cache-time $RcloneMountDirCacheTime \
	--log-level INFO \
	--poll-interval 15s \
	--cache-dir=$RcloneCacheShare/cache/$RcloneRemoteName \
	--vfs-cache-mode full \
	--vfs-cache-max-size $RcloneCacheMaxSize \
	--vfs-cache-max-age $RcloneCacheMaxAge \
	--bind=$RCloneMountIP \
	$RcloneRemoteName: $RcloneMountLocation &

# Check if Mount Successful
	echo "$(date "+%d.%m.%Y %T") INFO: sleeping for 5 seconds"
# slight pause to give mount time to finalise
	sleep 5
	echo "$(date "+%d.%m.%Y %T") INFO: continuing..."
	if [[ -f "$RcloneMountLocation/mountcheck" ]]; then
		echo "$(date "+%d.%m.%Y %T") INFO: Successful mount of ${RcloneRemoteName} mount."
	else
		echo "$(date "+%d.%m.%Y %T") CRITICAL: ${RcloneRemoteName} mount failed - please check for problems.  Stopping dockers"
		docker stop $DockerStart
		rm /mnt/user/appdata/other/rclone/remotes/$RcloneRemoteName/mount_running
		exit
	fi
fi

####### Start MergerFS Mount #######

if [[  $MergerfsMountShare == 'ignore' ]]; then
	echo "$(date "+%d.%m.%Y %T") INFO: Not creating mergerfs mount as requested."
else
	if [[ -f "$MergerFSMountLocation/mountcheck" ]]; then
		echo "$(date "+%d.%m.%Y %T") INFO: Check successful, ${RcloneRemoteName} mergerfs mount in place."
	else
# check if mergerfs already installed
		if [[ -f "/bin/mergerfs" ]]; then
			echo "$(date "+%d.%m.%Y %T") INFO: Mergerfs already installed, proceeding to create mergerfs mount"
		else
# Build mergerfs binary
			echo "$(date "+%d.%m.%Y %T") INFO: Mergerfs not installed - installing now."
			mkdir -p /mnt/user/appdata/other/rclone/mergerfs
			docker run -v /mnt/user/appdata/other/rclone/mergerfs:/build --rm trapexit/mergerfs-static-build
			mv /mnt/user/appdata/other/rclone/mergerfs/mergerfs /bin
# check if mergerfs install successful
			echo "$(date "+%d.%m.%Y %T") INFO: *sleeping for 5 seconds"
			sleep 5
			if [[ -f "/bin/mergerfs" ]]; then
				echo "$(date "+%d.%m.%Y %T") INFO: Mergerfs installed successfully, proceeding to create mergerfs mount."
			else
				echo "$(date "+%d.%m.%Y %T") ERROR: Mergerfs not installed successfully.  Please check for errors.  Exiting."
				rm /mnt/user/appdata/other/rclone/remotes/$RcloneRemoteName/mount_running
				exit
			fi
		fi
# Create mergerfs mount
		echo "$(date "+%d.%m.%Y %T") INFO: Creating ${RcloneRemoteName} mergerfs mount."
# Extra Mergerfs folders
		if [[  $LocalFilesShare2 != 'ignore' ]]; then
			echo "$(date "+%d.%m.%Y %T") INFO: Adding ${LocalFilesShare2} to ${RcloneRemoteName} mergerfs mount."
			LocalFilesShare2=":$LocalFilesShare2"
		else
			LocalFilesShare2=""
		fi
		if [[  $LocalFilesShare3 != 'ignore' ]]; then
			echo "$(date "+%d.%m.%Y %T") INFO: Adding ${LocalFilesShare3} to ${RcloneRemoteName} mergerfs mount."
			LocalFilesShare3=":$LocalFilesShare3"
		else
			LocalFilesShare3=""
		fi
		if [[  $LocalFilesShare4 != 'ignore' ]]; then
			echo "$(date "+%d.%m.%Y %T") INFO: Adding ${LocalFilesShare4} to ${RcloneRemoteName} mergerfs mount."
			LocalFilesShare4=":$LocalFilesShare4"
		else
			LocalFilesShare4=""
		fi
# make sure mergerfs mount point is empty
		mv $MergerFSMountLocation $LocalFilesLocation
		mkdir -p $MergerFSMountLocation
# mergerfs mount command
		mergerfs $LocalFilesLocation:$RcloneMountLocation$LocalFilesShare2$LocalFilesShare3$LocalFilesShare4 $MergerFSMountLocation -o rw,async_read=false,use_ino,allow_other,func.getattr=newest,category.action=all,category.create=ff,cache.files=partial,dropcacheonclose=true
# check if mergerfs mount successful
		echo "$(date "+%d.%m.%Y %T") INFO: Checking if ${RcloneRemoteName} mergerfs mount created."
		if [[ -f "$MergerFSMountLocation/mountcheck" ]]; then
			echo "$(date "+%d.%m.%Y %T") INFO: Check successful, ${RcloneRemoteName} mergerfs mount created."
		else
			echo "$(date "+%d.%m.%Y %T") CRITICAL: ${RcloneRemoteName} mergerfs mount failed.  Stopping dockers."
			docker stop $DockerStart
			rm /mnt/user/appdata/other/rclone/remotes/$RcloneRemoteName/mount_running
			exit
		fi
	fi
fi

####### Starting Dockers That Need Mergerfs Mount To Work Properly #######

# only start dockers once
if [[ -f "/mnt/user/appdata/other/rclone/remotes/$RcloneRemoteName/dockers_started" ]]; then
	echo "$(date "+%d.%m.%Y %T") INFO: dockers already started."
else
# Check CA Appdata plugin not backing up or restoring
	if [ -f "/tmp/ca.backup2/tempFiles/backupInProgress" ] || [ -f "/tmp/ca.backup2/tempFiles/restoreInProgress" ] ; then
		echo "$(date "+%d.%m.%Y %T") INFO: Appdata Backup plugin running - not starting dockers."
	else
		touch /mnt/user/appdata/other/rclone/remotes/$RcloneRemoteName/dockers_started
		echo "$(date "+%d.%m.%Y %T") INFO: Starting dockers."
		docker start $DockerStart
	fi
fi

rm /mnt/user/appdata/other/rclone/remotes/$RcloneRemoteName/mount_running
echo "$(date "+%d.%m.%Y %T") INFO: Script complete"

exit

Thanks :) If I run the upload script then the files show up. It just doesnt poll automatically.

Edited by AlexGreenUK
Link to comment
8 hours ago, AlexGreenUK said:

Im sure I have everything set up properly but when I add a file in the mount_mergerfs in the gdrive folder (not using crypt for testing) it doesnt show up on my google drive on the site automatically after a few seconds. But if I add something to my google drive folder on the Google website it shows up in the mount_mergerfs folder after a few seconds.

Config looks fine.  How are you adding files to mount_mergerfs in the scenario above?  If it's via Krusader, you have to restart the docker after mounting.  I don't use, so I don't know why, but other users have reported problems.

 

If you add via Windows Explorer or Putty/SSH is all ok?

Link to comment
47 minutes ago, DZMM said:

Config looks fine.  How are you adding files to mount_mergerfs in the scenario above?  If it's via Krusader, you have to restart the docker after mounting.  I don't use, so I don't know why, but other users have reported problems.

 

If you add via Windows Explorer or Putty/SSH is all ok?

 

I add with Windows Explorer I don't add anything with Krusader. 

 

Just typing the problem more clearer below.

 

Add to mount_mergerfs - Doesnt poll in Google Drive Site (Only Works with upload Script)

Add to Google Drive Site - polls after a few seconds on mount_mergerfs

 

Thanks again for any help you can offer.

Link to comment
1 hour ago, AlexGreenUK said:

 

I add with Windows Explorer I don't add anything with Krusader. 

 

Just typing the problem more clearer below.

 

Add to mount_mergerfs - Doesnt poll in Google Drive Site (Only Works with upload Script)

Add to Google Drive Site - polls after a few seconds on mount_mergerfs

 

Thanks again for any help you can offer.

That's the right behaviour - when you add files to /mount_mergerfs they are actually physically added to /local until your upload script moves them to gdrive.  The /mount_mergerfs folder "masks" the physical location of the file (local or cloud), so that Plex etc just play it and MergerFS/Rclone manage ponying up the file i.e. to Plex the file hasn't moved.

 

When you add direct to gdrive (not recommended going forwards, but I understand you are testing) the changes will be picked up by rclone at the next poll, and displayed in /mount_rclone and then picked up by MergerFS immediately and also "added" to /mount_mergerfs

Edited by DZMM
Link to comment
57 minutes ago, DZMM said:

That's the right behaviour - when you add files to /mount_mergerfs they are actually physically added to /local until your upload script moves them to gdrive.  The /mount_mergerfs folder "masks" the physical location of the file (local or cloud), so that Plex etc just play it and MergerFS/Rclone manage ponying up the file i.e. to Plex the file hasn't moved.

 

When you add direct to gdrive (not recommended going forwards, but I understand you are testing) the changes will be picked up by rclone at the next poll, and displayed in /mount_rclone and then picked up by MergerFS immediately and also "added" to /mount_mergerfs

Thanks for the reply.

 

Yes I see that the direction from GDrive to mount_merferfs seems to work.

 

Is there no way for it to update straight away from mergerfs to google drive? Or should I just run the Cron alot more often. 

I want to run the script on a separate remote server and upload files that side and then for them to show up in MergerFS on my local server at home so I can store my plex stuff remotely on another server but when the folder.

 

Remote server -- GDrive -- Local Server

 

I guess I want access from both ends without a delay.

 

Thanks again

Link to comment
36 minutes ago, AlexGreenUK said:

Thanks for the reply.

 

Yes I see that the direction from GDrive to mount_merferfs seems to work.

 

Is there no way for it to update straight away from mergerfs to google drive? Or should I just run the Cron alot more often. 

I want to run the script on a separate remote server and upload files that side and then for them to show up in MergerFS on my local server at home so I can store my plex stuff remotely on another server but when the folder.

 

Remote server -- GDrive -- Local Server

 

I guess I want access from both ends without a delay.

 

Thanks again

1. reduce the poll time for rclone to pickup cloud changes faster

2. if you want to upload to the cloud more frequently - run your cron more frequently.  If you want files to go in real-time, then copy to /mount_rclone not /mount_mergerfs.  Not recommended but it's there if you really want to do it

Link to comment
49 minutes ago, DZMM said:

1. reduce the poll time for rclone to pickup cloud changes faster

2. if you want to upload to the cloud more frequently - run your cron more frequently.  If you want files to go in real-time, then copy to /mount_rclone not /mount_mergerfs.  Not recommended but it's there if you really want to do it

If I remember correctly the poll time is in the mount script?

 

If I upload to /mount_rclone will they poll to the cloud straight away even though they are not physically there and then upload? Or will they disappear from /mount_rclone when the upload happens.

 

Also does the upload script move them from /mount_rclone aswell when it runs so there is only a copy on the cloud? And not on the remote server.

 

Sorry, not near the computer at the moment so want to know as much before I attempt in later.

 

Thanks again 😊

Edited by AlexGreenUK
Link to comment
5 hours ago, AlexGreenUK said:

--poll-interval 15s \

 

Change this in the script manually

 

17 minutes ago, AlexGreenUK said:

If I upload to /mount_rclone will they poll to the cloud straight away even though they are not physically there and then upload? Or will they disappear from /mount_rclone when the upload happens.

 

/mount_rclone is a live view of gdrive.  If you try to add a file it will be transferred in real-time to gdrive.  It's not advised as if the transfer fails the file can be lost, whereas rclone move will retry the upload.  Also, I believe that with the new cache functionality, the file gets cached and then uploaded in the background - which means you lose all control of the upload speed or when the upload occurs. 

 

I can't think of a scenario where I would advise adding files directly to /mount_rclone - just use the upload script and set the cron to a high frequency

Link to comment
12 minutes ago, DZMM said:

Change this in the script manually

 

/mount_rclone is a live view of gdrive.  If you try to add a file it will be transferred in real-time to gdrive.  It's not advised as if the transfer fails the file can be lost, whereas rclone move will retry the upload.  Also, I believe that with the new cache functionality, the file gets cached and then uploaded in the background - which means you lose all control of the upload speed or when the upload occurs. 

 

I can't think of a scenario where I would advise adding files directly to /mount_rclone - just use the upload script and set the cron to a high frequency

Ok, thank you for explaining and for the help 😊

 

I guess I will try to just use the upload script more frequently to avoid any issues.

 

Thanks again 👍

Link to comment

Is anyone else having problems where hardlinked torrents are being uploaded and deleting the torrents, rather than just a copy being uploaded?  Over the last week my torrents keep disappearing and I think it's rclone/mergerfs uploading the real file.

Link to comment
Is anyone else having problems where hardlinked torrents are being uploaded and deleting the torrents, rather than just a copy being uploaded?  Over the last week my torrents keep disappearing and I think it's rclone/mergerfs uploading the real file.
Me i got the problem

Envoyé de mon Pixel 2 XL en utilisant Tapatalk

Link to comment
25 minutes ago, francrouge said:

Me i got the problem

Envoyé de mon Pixel 2 XL en utilisant Tapatalk
 

 

Just in 2021?  It's been driving me mad this year.  I've just turned off "use hardlinks instead of copy" which should confirm my suspicion 

Link to comment

With my current setup I can't get hardlinks or atomic-moves to work. Currently Radarr/Sonarr/Lidarr do a copy instead of an instant move. So I would like to setup a new folder structure in order to make it work.

The below structure is mounted as folder /data under /mnt/user

 

Deluge will be linked to /mnt/user/data/torrents

Sabnzbd will be linked to /mnt/user/data/usenet

Completed files will be moved to /mnt/user/data/media

Radarr/Sonarr/Lidarr will take the files and move them to /mnt/user/data/gdrive/mount_mergerfs

In mount_mergerfs gdrive_vfs1 (movies) gdrive_vfs2 (tv) and gdrive_vfs3 (music).

 

Would the below work? If not any advise on how I should adjust it?

 

data
├── torrents
    ├── movies
    ├── music
     └── tv
├── usenet
    ├── movies
    ├── music
    └── tv
└── media
    ├── movies
    ├── music
    └── tv
├── gdrive
    ├── mount_mergerfs
        ├── gdrive_vfs1
        ├── gdrive_vfs2
        ├── gdrive_vfs3
    ├── mount_rclone
        ├── gdrive_vfs1
        ├── gdrive_vfs2
        ├── gdrive_vfs3

Link to comment
  • 2 weeks later...

@DZMM
 Any idea? Can you share your folder structure?

On 1/10/2021 at 1:16 PM, Ericsson said:

With my current setup I can't get hardlinks or atomic-moves to work. Currently Radarr/Sonarr/Lidarr do a copy instead of an instant move. So I would like to setup a new folder structure in order to make it work.

The below structure is mounted as folder /data under /mnt/user

 

Deluge will be linked to /mnt/user/data/torrents

Sabnzbd will be linked to /mnt/user/data/usenet

Completed files will be moved to /mnt/user/data/media

Radarr/Sonarr/Lidarr will take the files and move them to /mnt/user/data/gdrive/mount_mergerfs

In mount_mergerfs gdrive_vfs1 (movies) gdrive_vfs2 (tv) and gdrive_vfs3 (music).

 

Would the below work? If not any advise on how I should adjust it?

 

data
├── torrents
    ├── movies
    ├── music
     └── tv
├── usenet
    ├── movies
    ├── music
    └── tv
└── media
    ├── movies
    ├── music
    └── tv
├── gdrive
    ├── mount_mergerfs
        ├── gdrive_vfs1
        ├── gdrive_vfs2
        ├── gdrive_vfs3
    ├── mount_rclone
        ├── gdrive_vfs1
        ├── gdrive_vfs2
   

 

 

Link to comment
1 hour ago, Ericsson said:

Deluge will be linked to /mnt/user/data/torrents

Sabnzbd will be linked to /mnt/user/data/usenet

Completed files will be moved to /mnt/user/data/media

Radarr/Sonarr/Lidarr will take the files and move them to /mnt/user/data/gdrive/mount_mergerfs

This is the problem - you need all your dockers using the same mappings, otherwise hardlinks won't work as they will be seen as different volumes.

 

I.e in your docker settings in unraid just create /user -->/mnt/user , then in the docker applications link to where on unraid you want to use e.g. /user/data/torrents for files you want storing in /mnt/user/data/torrents on unraid.

 

Read the thread (search for hardlinks) if it's not clear as I must have gone over this at least a dozen times.

Link to comment
On 1/18/2021 at 8:38 PM, DZMM said:

This is the problem - you need all your dockers using the same mappings, otherwise hardlinks won't work as they will be seen as different volumes.

 

I.e in your docker settings in unraid just create /user -->/mnt/user , then in the docker applications link to where on unraid you want to use e.g. /user/data/torrents for files you want storing in /mnt/user/data/torrents on unraid.

 

Read the thread (search for hardlinks) if it's not clear as I must have gone over this at least a dozen times.

@DZMM Thanks for the pointer. I have it working now :)

Link to comment

Join the conversation

You can post now and register later. If you have an account, sign in now to post with your account.
Note: Your post will require moderator approval before it will be visible.

Guest
Reply to this topic...

×   Pasted as rich text.   Restore formatting

  Only 75 emoji are allowed.

×   Your link has been automatically embedded.   Display as a link instead

×   Your previous content has been restored.   Clear editor

×   You cannot paste images directly. Upload or insert images from URL.