Seafile is a solid contender for file synchronization.
Some key features:
/seafile-data
directory. This facilitates fast synchronization and delta-sync.Its strength is also its weakness when it comes to file syncing. Because the files are stored differently internally, this adds an additional layer of technology to access files, and makes it massively annoying to interface with these files:
seafile-cli
client, or via the WebAPI. The FUSE extension is available, but is read-only. seafile_fsck
, noting the files now need to be duplicated./seafile-data
directory to the remote server. Another alternative is using the middle-man solely as a Seafile client. See here as well.However, comparing directly to Dropbox, is a FTP upload option really necessary? Dropbox technically does not officially support such implementations, although files can be uploaded to be sync-ed... The real requirements are:
Nextcloud | ownCloud | Pydio Cells | Seafile | Syncthing | |
---|---|---|---|---|---|
Upload to file sync via HTTPS | ❔ | ❔ | ❔ | ❌ (tedious) | ❔ |
Upload to file sync via filesystem | ❔ | ❔ | ❔ | ✅ | ❔ |
Download files directly without authentication | ❔ | ❔ | ❔ | ❌ | ❔ |
Web GUI client | ❔ | ❔ | ❔ | ✅ | ✅ |
Desktop GUI clients | ❔ | ❔ | ❔ | ✅ | ❔ |
Mountable as drive on desktop | ❔ | ❔ | ❔ | ✅ | ❔ |
"Smart sync" (synchronize filenames without content) | ❔ | ❔ | ❔ | ✅ | ❌ |
Filesystem-only backend | ❔ | ❔ | ❔ | ❌ | ✅ |
Have seen a recent review mentioning that Pydio Cells has a tendency to break.
... as I have learnt, you can't do direct filesystem editing with Nextcloud either. Requires notifying the occ
watcher to update the Nextcloud directory...
Some thoughts after using it for a while:
Seafile still remains relatively stable. Note that the professional edition is highly recommended over the community edition which requires manual garbage collection of dereferenced blocks. While the professional edition has online GC, the manual GC requires a periodic server shutdown at least once a week.
See below for a comparison of space taken:
Professional | Community | |
---|---|---|
Actual files (GB) | 24 | ~10 |
Actual storage (GB) | 70.767 | 125.004 |
└ commits | 0.104 | 0.320 |
└ fs | 0.527 | 1.613 |
└ blocks | 70.138 | 123.073 |
Consider looking into this Seafile backup script.
Docker is crashing again, taking down several containers along with it, including the Seafile server. This is pretty problematic... on top of this, the Seafile client on Android does not support two-way synchronization, so the best way about this for Android is DropSync.