Unfortunately `rclone mount` doesn't support symlinks yet: it always deferences their contents. In contrast, SSHFS has options to either dereference them, or to use them as-is, or to transform absolute links into relative links (which may be more likely to resolve on the client)
I love rclone, I'm currently using `rclone mount` to mount a Backblaze B2 bucket to use as backing storage for Jellyfin and it works a treat. There are plenty of dials to tune things like cache size and duration to minimize unnecessary downloads from B2, and with my usage patterns it ends up astoundingly cost effective (although at some point I might move to Hetzner storage boxes for even cheaper storage).
this seems really expensive compared to a local nas, at least over the lifetime of your service. is there a reason you chose to go this route instead of local storage for media?
A local nas requires much higher upfront costs, I would need space to put it, and it requires much more ongoing maintenance and whatnot. If you factor the cost of my time it probably doesn't really work out as cheaper.
Backblaze B2 is $5/TB/month,
Hetzner is $4.08/TB/month for 1TB,
Wasabi is $6.99/TB/month
Wasabi seems like the most expensive here, with the caveat that Hetzner requires ordering discrete steps of storage rather than the 'pay-as-you-go' model of the other two
They are all OK to use, and each provider has pros and cons, depending on the use case.
Hetzner is the cheapest; however, your data is stored in Germany or Finland. They have free bandwidth, but you are limited to 10 connections at a time.
Backblaze B2 has 4 regions across the globe, storage is $5/mo, there is no minimun retention time, but does have a cost for API Calls(transactions), and in addition charges for egress data(downloads), so your $5/TB is a variable factor, and if you use your data, you may not achieve $5/TB, the cost will grow depending on the use case(there are free levels of transactions and egress)
Wasabi is $7/TB and has 13 regions across the globe, with free egress and no api charges. It does have 90-day minimum storage charge, which means you are billed for every object for 90 days regardless of if you delete it before 90 days. In addition, the free egress has limits to prevent system abuse. There is a 30-day deleted storage charge available if you purchase in bulk with their RCS(reserved capacity) storage plan. It's good if you want to store a lot of data that does not need deletion.
I have accounts with all 3 of these for different use cases.
Regarding Hetzner Storage Box's 10 connection limit, Hetzner also has Storage Share (Nextcloud hosting) at basically the same price point (~3 EUR/TB at the 10TB+ size), only it comes with 200 connections. Rclone supports WebDAV for Nextcloud just as well.
* removing egress costs up to 3x your amount of stored data
I'm pretty disappointed overall by the price increase for storage. Compared to when they launched B2, they now need 1/4 as many servers with 1/2 the upfront cost to store each petabyte.
Doesn't Hetzner storage boxes also have lower redundancy guarantees? It's been a while since I've looked, so not sure - it's not obvious from their ordering page. They're great either way, though, especially given the "unlimited" egress.
I'm trying to use rclone, but it seems like it's kind of hard to set up compared to sshfs. Do I really need to go through their 20 question setup script?
VFS on MacOS is a minefield. You either need to use a kext (bad option, for many reasons), a network file system (NFS or SMB) and pretend your VFS is a remote server, or create a FileProvider system extension (which cannot actually function as a VFS).
If your workflow relies on a VFS that isn't NFS/SMB then don't use MacOS. fuse-t is kind of clever in that it spins up a TCP server that transpiles NFS requests into FUSE requests, but it comes with a bit of a cost and eats a TCP port. The one benefit is that you can actually mount and use a file system entirely in userspace this way, which you can't do on Linux without sandboxing (fusermount3 is SUID to get around this).
> fuse-t is kind of clever in that it spins up a TCP server that transpiles NFS requests into FUSE requests
TIL, thank you!
I'm really sad about losing native SSHFS capabilities on macOS (via FUSE, due to the kernel extension deprecation/ban).
I could even get behind the idea of banning all network file systems, but the fact that I can now use SMB and WebDAV(!), but not the one that I actually use all the time, is quite frustrating.
Wow, I gave this a try after work on my personal machine and it's amazing – seems to be more stable than the original thing at a first glance! Thanks again.
MacFUSE always seems unbearably slow to me. Specially in the Finder. Has it improved?
FUSE-T seems more future proof (no kext) and probably less likely to completely hang your Mac, but could potentially be even slower since it’s another abstraction layer in between.
It’s odd that there aren’t any great open source SFTP solutions for the Mac. CyberDuck and FileZilla are barely passable.
I think what hangs the Mac isn't the remote file system as such, but rather some local app or (more likely) low-level OS service assuming that all mounted filesystems are local (or at least low-latency and highly available).
It does work, I use it regularly. However, it can hang the whole system in certain cases such as mount that went wrong, connection timeout between the servers (without -o reconect option on sshfs, but even with that sometimes).
Not just rclone, but it seems that so many things are moving away from using the ssh_config; I have things setup to "just work" for so many hosts with OpenSSH, and having to individually configure a half-dozen programs that build on top of SSH is a pain. Sometimes it's because they use paramiko, other times it's because they want to pass their own configuration options to ssh that mess things up.
Sometimes you can manage to get things to use the ssh_config again (e.g. with xpra you can do "--ssh=ssh" but other times I've not yet figured a workaround.
I only use programs for which I've found a workaround due to the pain, so I can't list the ones that I don't have a workaround for. TBF two of the programs (emacs tramp and git-annex) I use regularly actually mostly respect ssh_config by default, but they override the ControlMaster by default (to do their own connection muxing) which requires me to do an extra authentication step.
Mix up rclone's mount with the Crypt and maybe even the Union backend to cloud storage for a very interesting proposition. I was using a similar setup to get unlimited storage on VPSes when google was offering unlimited gsuite storage. You just need to play around caching values and options on the Crypt side if you plan on streaming data from it.
Sorry if this is documented (I did take a quick look). Does rclone mounted do whole file compression like rsync? I don't see how the file API would support this. eg fopen, write, close, etc
In this scenario, rclone mount uses sftp in the background which compresses the entire stream (you can control that by passing args to the ssh command spawned by rclone) but it doesn't do it per-file. In practice I don't know if there is a difference.
Edit: cf: https://rclone.org/commands/rclone_mount/