Rclone is a command-line program to manage files on cloud storage. It is a feature-rich alternative to cloud vendors' web storage interfaces. Over 40 cloud storage products support rclone including S3 object stores, business & consumer file storage services, as well as standard transfer protocols.
Rclone has powerful cloud equivalents to the unix commands rsync, cp, mv, mount, ls, ncdu, tree, rm, and cat. Rclone's familiar syntax includes shell pipeline support, and --dry-run protection. It is used at the command line, in scripts or via its API.
Users call rclone "The Swiss army knife of cloud storage", and "Technology indistinguishable from magic".
Rclone really looks after your data. It preserves timestamps and verifies checksums at all times. Transfers over limited bandwidth; intermittent connections, or subject to quota can be restarted, from the last good file transferred. You can check the integrity of your files. Where possible, rclone employs server-side transfers to minimise local bandwidth use and transfers from one provider to another without using local disk.
Virtual backends wrap local and cloud file systems to apply encryption, compression, chunking, hashing and joining.
Rclone mounts any local, cloud or virtual filesystem as a disk on Windows, macOS, linux and FreeBSD, and also serves these over SFTP, HTTP, WebDAV, FTP and DLNA.
Rclone is mature, open-source software originally inspired by rsync and written in Go. The friendly support community is familiar with varied use cases. Official Ubuntu, Debian, Fedora, Brew and Chocolatey repos. include rclone. For the latest version downloading from rclone.org is recommended.
Rclone is widely used on Linux, Windows and Mac. Third-party developers create innovative backup, restore, GUI and business process solutions using the rclone command line or API.
Rclone does the heavy lifting of communicating with cloud storage.
Rclone can serve a web based GUI (graphical user interface). This is somewhat experimental at the moment so things may be subject to change.
Run this command in a terminal and rclone will download and then display the GUI in a web browser.
rclone rcd --rc-web-gui
Seems to me to be the webapp equivalent/alternative to the also very good, GoodSync, Cyber Duck, Mountain Duck, Expandrive.
There's a local Rsync Browser option too, how well maintained it is and working I don't know: https://github.com/kapitainsky/RcloneBrowser
The issue I'm having with GoodSync is triangulated syncs via a local machine or separate server.
Having Rsync Web GUI as a Cloudron App would enable direct synching of Nextcloud and other data stores with a whole variety of Cloud storage providers, with relatively little technicalities and avoiding the hazards and anxieties of the command line.
@girish @nebulon I'd even go so far as to say; this could be a killer-feature app for Cloudron in making it easier to migrate data from all the many supported cloud connectors. Maybe start with it as an app, and then add it as a Cloudron feature to certain apps in future.
Cloudron already does a great job with backup options, so it would be great to have the same capabilities for migration imports and syncing.
We're working on packaging this.
All ideas and suggestions welcome for how it should work, including default mounts for the config.
We have our own specific needs, but be good to know what others experienced with Cloudron and data migration and syncing needs see as useful to have with this as an app.
@marcusquinn Well that's a gold star find right there! I could see replacing a number of my manual processes I run monthly from copying onedrive to google drive, s3 buckets to other s3 buckets, etc. I currently use Expandrive and it's nice but would love CLI and Linux approach.
Defaults -> I'd go basic with on container /app/data and then folks add mount points via cloudron if they want or (in my case), I add VHDXs to the VM running Cloudron which opens up all kinds of shiny opportunities.
Keep us posted!
@doodlemania2 We have a 1st attempt prototype working, but all features won't properly work as rclone requires fuse package running, which is only possible in privileged mode (where Docker privileged mode would grant a Docker container root capabilities to all devices on the host system, but that needs security/safety from accidents consideration).
As a workaround we've installed rclone to the Cloudron host itself so it can be run in console.
You also need to install rclone locally, to authorise through
rclone authorise, to access your cloud data with the web auth screens for apps.
For now rclone works very well from the command-line.
It also needs some considerations for API rate limits, eg: https://www.reddit.com/r/rclone/comments/sbrldw/recommended_rclone_flags_not_to_hit_dropbox/
all features won't properly work as rclone requires fuse package running, which is only possible in privileged mode
Nestybox, now part of Docker, solves this with sysbox, which lets you do this in a container w/o the security implications or privileged mode.
All that is needed is to launch the container with 'sysbox' instead of the default 'runc'.
Related Feature Request. https://forum.cloudron.io/topic/7472/remote-file-access/5
It would be really awesome if rclone was implemented through the CLI enabling the synchronization of target directories and mounts.
In my specific use case I am trying to figure out a reliable way to be able to quickly edit my GRAV site. While GRAV has a GUI it was really build for the text editor.
I am trying right now to figure out how to install Rclone as a system level app to provide synchronization to my desktop computer of several cloudron folders.
If rclone was implemented in such a way that it could have access to other application's data folders that would be super awesome!