Why an alternative?

I've tried a number of alternatives to Dropbox, to run your own Cloud system. I know there are people that say that things like LiveDrive and DropBox are great already, but often you have to pay money to get space. There are also the horror stories out there, some of which I have experienced through colleagues of mine that have found their LiveDrive account suddenly blocked and wiped because it 'violates the terms of service', even though that never gets explained and nothing illegal was going on, just a lot of data going on. There are also cases where as a company you are forced to use services that you have under your own control and are not at the mercy of some company's whims. There's also the case where, if for example you totally rely on DropBox, and it goes belly-up, or decides to significantly change its features, that you get boned.




I heard about this from my friend Andrew, and I tried it out. For very small datasets (500 files, tops!) it will work okayish and it is fairly basic to install on Apache2/Nginx and MySQL. I say okayish because the syncing system it uses is totally pathetic (at time of writing December 2013). I had a local OwnCloud server set up in my own network and I tried to get a local computer to sync 7500 files of about 5GB against it and it needed about 24 hours to complete the job. Copying the files over Samba Windows file sharing took like 8 minutes. Using Seafile it took like 15 minutes or so. On the server side I needed to throw all the CPU power I had at it because it maxed it all out. I started with 1 core and it was 100% all the time. Upped it to 4, and still 100%. Upped it to 16 and it somewhat managed. Total bullshit. OwnCloud sucks balls. Their client software also had the tendency to just crash so you were forced to manually start the program again or it wouldn't even try to sync. Tons of conflict files were generated because of its inability to just sync.



The name of this program is one that I have misspelled many many times (sealife usually) and I don't really know why it is called Seafile, but it is a damned good piece of programming. I have no idea why this hasn't received much more attention because it's an awesome program and my absolute preferred file storage solution for your own cloud systems. The site itself offers you the ability to try it out and get 1GB free space on their systems. But the whole Seafile package can be downloaded and run on your own server. It is a little quirky in the sense that it has its own http server built in, which you can proxy through Nginx or Apache2 to get HTTPS to work well. There IS an HTTPS server built into Seafile but they are honest and upfront about it - it isn't very good. I suppose it's because they focus on the Seafile functionality instead of the HTTPS security aspect, leaving that to programs more suited to it like Nginx and Apache2. Once you have it set up though, it is rock solid, secure, and the synchronisation systems it uses are based off GIT, but are not GIT. So it has the advantages of GIT but not its disadvantages. I ran 7500 files of 5GB total through it and it handled it within 15 minutes with ease. It is smart about it. It sees that when you add a new machine that it has to download all these files, so it downloads them all in 1 big bundle, then once that's done, unpacks them and makes them available in one go. Efficient file transfer. Afterwards it'll sync separate files as needed, when they change.

The client software is elegant. It allows you to configure multiple accounts on different servers, and you can see the libraries with files in them that you have access to, and you can choose which ones to synchronize. So if you just want one library on a certain computer you can just select that library in the client and sync it. The progress of syncing is very clearly indicated and it is accurate. This program does what OwnCloud claims it can do, but doesn't fuck it up like OwnCloud does. Highly recommended. Also, the load on the server is barely measurable. I run it on a single core and it manages just fine and am having a hard time getting it past 0.5 system load at any given time even with 15 computers connected to it.

The only downside I've found to Seafile is that the webbased interface is a little counterintuitive. You have to get into it a little - browse around and try all the options, especially with group and user management. But once you spend an hour or so with it and trying things out, you 'get' the system and you can do whatever you need to do. The concept of 'contacts' and 'users' in this system is somewhat confusing. But once you get past that, this system is awesome.



I also tried SparkleShare but dumped it. It was a bit of a bitch in the sense that you can configure pretty much nothing. Oh you want to sync, fine, I WILL SYNC THIS FOLDER AND YOU SHALL LIVE WITH IT OMGG oh yes there's some sort of hidden config file that you can work with, but it's annoying to have to manually edit config files when you're using a GUI program. It also advertises on their site that it's not so great for large binary files that change often. Well, I guess that goes for most cloud solutions, but even so, I found that Seafile was better in pretty much every aspect.




  1. Paulo Coelho says:

    Totally agree with you. I ditched Owncloud in favour of Seafile since performance was just uncomparable. And even if Owncloud has more features, I just need the “Dropbox functionality” and that it works flawlessly. Seafile delivers in all senses of the word!

    • I assume by extra features you mean the calendar and the music overview you can get in the OwnCloud web interface? In that case; who gives a shit, right? It’s the file synchronisation that you want the program for, and Seafile is indeed much better at that than OwnCloud.

      Interesting note; it supports synchronising the temporary files that Word and Excel and such create when a file is open – helps to notify other users that someone’s currently working in it. Pretty neat.

  2. Walter Byrd says:

    I want to be able to drop a file into a directory and have it sync – like with dropbox, or evernote.

    The problem that I have with owncloud is that the directories, where files are stored, have to be owned by Apache. And the directories cannot be linked to my home directory subdirectories like Documents/Music/Video etc. To bring a file into owncloud, I have to upload my local owncloud site, and use that interface to load files. I would like to just save a file to “Documents” and have automatically sync.

    Will Seafile work for me?

    • Hi Walter,

      Yes, I know the problem you mentioned in your comment. OwnCloud has to do the ownership thing so it can actually work with the files stored in your webserver. OwnCloud is basically just a set of PHP files that work completely through the web services, and so the permissions must be set for the PHP processes and web services to access and use the files. It also means that if the web services are compromised somehow (through for example another PHP program running on your web server) that you’re screwed. In addition, if you use another service to access those files, you may run into permission problems (like samba for example).

      Seafile doesn’t work in this way. Seafile is an application that incorporates its own HTTP and synchronisation interfaces and stores files in its own storage area in its own unique (and extremely efficient) way. Using a web server you can put HTTPS encryption over that connection, by proxying the HTTP interface of the Seafile service. This adds an extra layer of separation and security.

      In any case, to answer your question; yes, Seafile can do what you want. You get a client with Seafile that you can use to map folders that already exist on your system to folders in Seafile, for automatic synchronisation. It will automatically merge existing files into such a linked folder; it’s quite smart about it. By default it wants to create a ‘seafile’ folder and that’s fine, but you don’t have to use that if you don’t want to. You can just say; okay, my account has a Seafile folder titled “Documents” and I want to link that to C:\Users\Walter\Documents\, and then it works.

Leave a Reply

Your email address will not be published. Required fields are marked *