First off, apologies if this has already been written about. Most of my searches are dominated by using rclone ON an unraid server. However, this post is specifically about using an unraid server as an rclone backend (so other servers can sync to it).
I am relatively new to unraid, however I have previously used rclone and would like to continue using it.
So far I have found two potential solutions to this problem:
Use tailscale to connect to put the unraid server and the syncing server on the same "network". Then use an SMB share as the rclone backend.
Use Minio on unraid server to setup an s3 like public endpoint for syncing. (Or maybe I can still use tailscale to make this non-public)
Option 1 seems to be the simplest approach from me, especially considering tailscale helps me avoid port forwarding and the like. But looking at the backend overview, it seems like SMB is missing some features that the backend I currently use (gdrive) has. I don't know how big a deal that is, but something I'm hesitant about since I'd love to just stick with my current rclone configuration and just switch backends.
Option 2 Seems like it would have all the features I'm used to, however I'm not sure if there are any other negative performance consequences of using Minio as an intermediary layer.
Keen to hear advice from anyone who has experience with setting up storage servers.
I think the "samba, sftp, etc..." bit is what I'm asking about. As I mentioned in the original post, it doesn't look like he SMB support by rclone has features I'm typically used to on the gdrive one (e.g. modtime). I'm not sure how important that is and trying to understand what the best protocol is to use.
rclone, as a client copy tool, works great over tailscale, works great with servers such as samba, minio, sftp, etc...
choose whatever server best fits your overall needs.
modtime is very important and even more so, for backups, checksums.
rclone supports that for smb/samba server, sftp server and minio server.
ok, let's compare the ways rclone can access a smb/samba server.
rclone's samba remote. as you noted, lacks many basic features, would not use.
rclone config smbserver:
[smbserver]
type = smb
host = XXX
user = XXX
pass = XXX
rclone copy file.ext smbserver:share -vv
DEBUG : rclone: Version "v1.64.0" starting with parameters ["rclone" "copy" "file.ext" "smbserver:share" "-vv"]
DEBUG : Creating backend with remote "file.ext"
DEBUG : Using config file from "/root/.config/rclone/rclone.conf"
DEBUG : fs cache: adding new entry for parent of "file.ext", "/root"
DEBUG : Creating backend with remote "smbserver:share"
DEBUG : smb://username@server:445/share: Using root directory "share"
DEBUG : file.ext: Need to transfer - File not found at Destination
INFO : file.ext: Copied (new)
mounting the smb/samba share. supports modtime, checksums, --inplace, more...
mount.cifs -o user=username,pass=password //smbserver/share /mnt/share
rclone copy file.ext /mnt/share -vv
DEBUG : rclone: Version "v1.64.0" starting with parameters ["rclone" "copy" "file.ext" "/mnt/share" "-vv"]
DEBUG : Creating backend with remote "file.ext"
DEBUG : Using config file from "/root/.config/rclone/rclone.conf"
DEBUG : fs cache: adding new entry for parent of "file.ext", "/root"
DEBUG : Creating backend with remote "/mnt/share"
DEBUG : file.ext: Need to transfer - File not found at Destination
DEBUG : file.ext: md5 = b026324c6904b2a9cb4b88d6d61c81d1 OK
DEBUG : file.ext.xibuvak3.partial: renamed to: file.ext
INFO : file.ext: Copied (new)
Ah that's very interesting, I think I missed that nuance. Do you happen to know where the documentation talks about these protocols for mounting vs remote? I want to make sure I'm understanding what the differences are between my current setup and smb.
Webdav seems to not support the same things as sftp, so I guess sftp would be easier, good point! The only reason I landed on minio initially is because rclone seemed to support the most things for s3 like storage backends. But it seems like sftp may cover me for most things.
as for understand the differences, the docs only go far, so i try to rely on my own simple testing.
for example, when you first posted this, i did a test
"it doesn't look like he SMB support by rclone has features I'm typically used to on the gdrive one (e.g. modtime)"
i found modtime support on smb remote. for windows smb server and for linux samba server.
as for checksums, i posted that test in previous post.
fwiw, based on my personal experience - for backups, over tailscale/vpn. sftp is not the way to go.
small packets, high latency, slow directory listings.
tho, rclone has very good support for sftp: modtime, checksum, --inplace, keyfile, etc...
sftp on linux is rock stable, native, built-in and easy to setup.
so why not give that a try. might be all you need
in my case, i choose smb/samba. modern protocol, works well over vpn and supported everywhere.
rclone and most any copy/backup tool has great support, including veeam.