francrouge

Members
  • Posts

    450
  • Joined

  • Last visited

Posts posted by francrouge

  1. Hi all. I’m again, fairly new to doing this type of thing. I think I screwed up the script by not running in the background. It now says it’s running and the script ended. How would I kill the script and restart it in the background? I looked and it’s not showing up in active scripts. My knowledge of Linux commands extends as far as how to type in nano and a directory/file lol. (Just pointing out my ignorance)


    Sent from my iPhone using Tapatalk
    Start it again in background or reboot the server and start it in background maybe someone else has a better solution otherwise

    Envoyé de mon Pixel 5 en utilisant Tapatalk

  2. I have no idea why your first launch is so slow (the 2nd is fast cause it's coming from the local cache).
     
    I can see that you've copied my mount settings and my 1st launch (900/120 connection) is never greater than 3-5s.  Does your rclone config look something like this:

     
    [tdrive]type = drivescope = driveservice_account_file = /mnt/user/appdata/other/rclone/service_accounts/sa_tdrive.jsonteam_drive = xxxxxxxxxxxxxxxxserver_side_across_configs = true[tdrive_vfs]type = cryptremote = tdrive:cryptfilename_encryption = standarddirectory_name_encryption = truepassword = xxxxxxxxxxxxxxxxxxxxpassword2 = xxxxxxxxxxxxxxxxxxxxxxxxx

     

    Yes exactly what plex docker are you using ?

    Thx



    Envoyé de mon Pixel 5 en utilisant Tapatalk

  3. 20 minutes ago, francrouge said:

    Hi all quick question is there a parameter i can changed to play faster movies its taking beteew 30 secondes to 1min

    Edit: It's wierd but the first time i play a movie its taking 1min or so and after the first try its much faster like 5sec.

     

     

    # create rclone mount
        rclone mount \
        $Command1 $Command2 $Command3 $Command4 $Command5 $Command6 $Command7 $Command8 \
        --allow-other \
        --umask 000 \
        --dir-cache-time 5000h \
        --attr-timeout 5000h \
        --log-level INFO \
        --poll-interval 10s \
        --cache-dir=/mnt/user/mount_rclone/cache/$RcloneRemoteName \
        --drive-pacer-min-sleep 10ms \
        --drive-pacer-burst 1000 \
        --vfs-cache-mode full \
        --vfs-cache-max-size 100G \
        --vfs-cache-max-age 96h \
        --vfs-read-ahead 1G \
        --bind=$RCloneMountIP \
        $RcloneRemoteName: $RcloneMountLocation &

  4. Sorry but are you referring the the errors for the dockers not starting at the end of the log? I can remove them from the script if it is causing an issue and add them back later, the dockers on this system are not currently installed, just wanted to test the scrip out before continuing with getting all my docker containers setup. Did not think it would matter if it failed to start the dockers. 
    Yes try to removed the entry.


    I don't think it matter but be sure to installed and configure youre rclone but otherwise it should start


    I dont see other errors so it should worked


    Envoyé de mon Pixel 5 en utilisant Tapatalk



  5. I am having an issue on a new setup in which I do not have permission to add files to the created folders under /mnt/user/mount_mergerfs/gdrive_media_vfs
     
    The mount script appears to run fine without errors, but I cant add media to the above folder to test, tried using both windows via SMB and Krusader. I changed very little in the mount script other than the rclone remote name
     
    This is my mount script:
    #!/bin/bash
    ######################
    #### Mount Script ####
    ######################
    ## Version 0.96.9.3 ##
    ######################
    ####### 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_media_vfs" # 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/local" # 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/user0/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" # 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 \
        --umask 000 \
        --dir-cache-time $RcloneMountDirCacheTime \
        --attr-timeout $RcloneMountDirCacheTime \
        --log-level INFO \
        --poll-interval 10s \
        --cache-dir=$RcloneCacheShare/cache/$RcloneRemoteName \
        --drive-pacer-min-sleep 10ms \
        --drive-pacer-burst 1000 \
        --vfs-cache-mode full \
        --vfs-cache-max-size $RcloneCacheMaxSize \
        --vfs-cache-max-age $RcloneCacheMaxAge \
        --vfs-read-ahead 1G \
        --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
     
    And my log:
    21.12.2021 06:29:39 INFO: Creating local folders.
    21.12.2021 06:29:39 INFO: Creating MergerFS folders.
    21.12.2021 06:29:39 INFO: *** Starting mount of remote gdrive_media_vfs
    21.12.2021 06:29:39 INFO: Checking if this script is already running.
    21.12.2021 06:29:39 INFO: Script not running - proceeding.
    21.12.2021 06:29:39 INFO: *** Checking if online
    21.12.2021 06:29:40 PASSED: *** Internet online
    21.12.2021 06:29:40 INFO: Success gdrive_media_vfs remote is already mounted.
    21.12.2021 06:29:40 INFO: Check successful, gdrive_media_vfs mergerfs mount in place.
    21.12.2021 06:29:40 INFO: Starting dockers.
    Error response from daemon: No such container: nzbget
    Error response from daemon: No such container: plex
    Error response from daemon: No such container: sonarr
    Error response from daemon: No such container: radarr
    Error: failed to start containers: nzbget, plex, sonarr, radarr
    21.12.2021 06:29:40 INFO: Script complete
    Script Finished Dec 21, 2021 06:29.40
     
    Does the docker name match the same name in you're script ?

    Otherwise seem like a problem with docker engine.

    Did you try to reboot ?

    Thx

    Envoyé de mon Pixel 5 en utilisant Tapatalk

  6. My personal rclone mount script was a bit different to the one on github - this is what I have:
     
    # create rclone mountrclone mount \$Command1 $Command2 $Command3 $Command4 $Command5 $Command6 $Command7 $Command8 \--allow-other \--umask 000 \--dir-cache-time 5000h \--attr-timeout 5000h \--log-level INFO \--poll-interval 10s \--cache-dir=/mnt/user/mount_rclone/cache/$RcloneRemoteName \--drive-pacer-min-sleep 10ms \--drive-pacer-burst 1000 \--vfs-cache-mode full \--vfs-cache-max-size 100G \--vfs-cache-max-age 96h \--vfs-read-ahead 1G \--bind=$RCloneMountIP \$RcloneRemoteName: $RcloneMountLocation &

    I've updated the github version just now.  I think you should see playback and scanning improvements.

    Thx so much i will try it tonight

    Envoyé de mon Pixel 5 en utilisant Tapatalk

  7. Got it working now.
    The error was that the client Id, secret I created was on another account.
    When I read the description it stated it didn't matter, but it did.
     
    Also @DZMM I used your enhanced settings for playback, and it works much better now. Thanks:)
     
    PS: The note from Google in regards to moving to workspace, did you guys get it on your primary emails or on the Gsuite mail?
    I haven't received any note about it yet, at least not what I could find.
    Just curious but what is the enhanced setting ? Thx

    Envoyé de mon Pixel 5 en utilisant Tapatalk

  8. On 11/26/2021 at 1:44 PM, DZMM said:

    looks fine as you're not using mergerfs and cloud files are being handled just by rclone, so things should be even simpler.  Have you changed any of the mount entries further down the script - the section should look like this:

     

    # create rclone mount
    	rclone mount \
    	$Command1 $Command2 $Command3 $Command4 $Command5 $Command6 $Command7 $Command8 \
    	--allow-other \
    	--dir-cache-time 5000h \
    	--attr-timeout 5000h \
    	--log-level INFO \
    	--poll-interval 10s \
    	--cache-dir=/mnt/user/mount_rclone/cache/$RcloneRemoteName \
    	--drive-pacer-min-sleep 10ms \
    	--drive-pacer-burst 1000 \
    	--vfs-cache-mode full \
    	--vfs-cache-max-size 100G \
    	--vfs-cache-max-age 96h \
    	--vfs-read-ahead 2G \
    	--bind=$RCloneMountIP \
    	$RcloneRemoteName: $RcloneMountLocation &

     

    Can you post your rclone config as well please to eliminate any problems there.

    
    #!/bin/bash
    
    ######################
    #### Mount Script ####
    ######################
    ## Version 0.96.9.3 ##
    ######################
    
    ####### 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_media_vfs" # 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/mount_rclone_upload" # 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/user0/mount_rclone" # location of rclone cache files without trailing slash e.g. /mnt/user0/mount_rclone
    RcloneCacheMaxSize="100G" # Maximum size of rclone cache
    RcloneCacheMaxAge="336h" # Maximum age of cache files
    MergerfsMountShare="ignore" # location without trailing slash  e.g. /mnt/user/mount_mergerfs. Enter 'ignore' to disable
    DockerStart="plex" # 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/incomplete,downloads/seeds,Plex/Films,Plex/Series/Francais,Plex/Series/Anglais"\} # 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 \
    	--umask 000 \
    	--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

     

  9. 1 hour ago, Roudy said:

     

    How long is the loading time for your movie? Is the file over 30GB? Could you post your mount script?

    1 min + files are like 20 gb

     

     

     

    
    # REQUIRED SETTINGS
    RcloneRemoteName="gdrive_media_vfs" # 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/mount_rclone_upload" # 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/user0/mount_rclone" # location of rclone cache files without trailing slash e.g. /mnt/user0/mount_rclone
    RcloneCacheMaxSize="100G" # Maximum size of rclone cache
    RcloneCacheMaxAge="336h" # Maximum age of cache files
    MergerfsMountShare="ignore" # location without trailing slash  e.g. /mnt/user/mount_mergerfs. Enter 'ignore' to disable
    DockerStart="plex" # 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/incomplete,downloads/seeds,Plex/Films,Plex/Series/Francais,Plex/Series/Anglais"\} # comma separated list of folders to create within the mount
    
    # Note: Again - remember to NOT use ':' in your remote name above

     

  10. Hi guys,

     

    I'm planning on upgradin my server for an Amd 5950x with 128Go ram 3200Ghz.

     

    I'm still not sure about the MB. looking for help to choose the right one.

     

    I have a sas card and planning to do a gaming vm to get rid of my gaming computer and only have the server.

     

    So i got an 1080TI

     

    any suggestion for a motherboard that would fit all this ?

     

    Thx

  11. 23 hours ago, sheldz8 said:

    Sorry I meant that it is optional if you don't plan on uploading anything.

    I misread your original post when I said that.

    LocalFileShare2 is for a 2nd remote drive and

    From what I read now again on your original post is that you want to copy plex to gdrive? Do you want to do this alongside the local share? I don't think that will work because I presume it will use move/copy/sync that you set for the first local Share.

    I would suggest using something like rsync to auto backup the plex folder periodically and point it to backup to the local folder.

    I haven't done this before because I know it usually corrupts the backup folder and plex restore is basically useless

    Sent from my SM-A305F using Tapatalk
     

    Hi Main goal is to have one folder with all my local medias and gdrive

     

    So Main folder = Medias + Gdrive

     

    So i think mergefs would worked for that

     

    But the only issue that i'm trying to solved is if i want to move things from local media to gdrive automaticly how i do it. (uploaded)

     

    Exemple downloaded files that are in my local media and can be uploaded in gdrive

     

    thx again