I use Seafile as my personal cloud file synchronization service. I choose it because at the time, I read an article about it and sounded good.

It is actually a good piece of software. It does the job well, like DropBox. The major advantage compared to DropBox is that you own the server. Thus your private, confidential documents are not stored at an external provider.

I have a server and a laptop and my libraries are synchronizing magically. Within a minute, the modified or created file finds itself on the other computer.

Advantages

Installation

Installation is quiet easy. Of course, it is a daemon and one most read the documentation and spend some time performing the installation using the CLI. But it is not hard.

Operation

Most often, it works very well. There are a few bugs but they do not occur too often.

Full history of your files

Seafile not only synchronize your files across computers, it also keeps the history of all your files, indefinitely or up to X days. If you backup your Seafile repository, this feature can constitute a easy, always online backup solution.

This feature has a problem though. See below section Trashed files are never actually deleted in the repository.

Limitations

Smartphone support

There is no dual way file synchronization with any Smartphone, including Android or IOS devices. Well, maybe it would work under Ubuntu Touch since it resembles more a normal Linux desktop, but I do not know.

Android does have a feature for transferring files one way. I never tried it so I cannot comment on it.

Apparently, the code (written in C or C++) used for the client on Linux, Mac & Windows cannot be ported to Android. Android apps are Java based and there is no easy way to install standard binaries on it, particularly because the App store does not support this feature (everything is sandboxed) and anyhow, most users do not have root access on their devices. This is why they have to reimplement the client in Java, and they have yet to finish the work.

Problems

Trashed files are never actually deleted in the repository.

If you configure to keep the full history of your files (no time limit), then files you put to garbage are actually never deleted on the repository. I learn this the hard way by coping by accident binaries into my Seafile directory. Despite moving the files to the trash and asked to have them permanently deleted, the repository on the server keeps all the files indefinitely, thus keeps growing.

This constitutes an important security hole. Anything you send to the trash and ask to be deleted persists on the repository. If you have very sensitive documents that needs to be destroyed, Seafile is not your ally. Diplomats must stay away from Seafile.

This issue is reported at Seafile #861: "Add command to completely delete file from seafile"

Sometime, synchronization just does not work

Once in a while, synchronization just stops working for some odd reason. Putting them back into sync is not necessarily easy. The GUI client has a feature to resynchronize, but it does not always work. At one point, one must delete the local directory and download it again.

This happened to me on 2014-05-01 with client version 4.1.5 and server version 4.1.2, 64bits everywhere.