Seafile Review - Cloud Storage for Small Projects

Moderators: GSH, VSMIT, Red Devil, Commando

Post Reply
User avatar
Zero Angel
Attila
Posts: 1536
Joined: Mon Feb 21, 2011 12:54 am
Contact:

Seafile Review - Cloud Storage for Small Projects

Post by Zero Angel »

General Blackdragon and I have recently trialed and are using a fairly new cloud provider for our small project given the need to keep our assets in sync with each other in real-time. I heard of this one from a Hak5 show which spotlighted it and showcased some of its features but never gave it a really good review or walkthrough, and i've been unable to find a remotely thorough review on the net. Given the lack of thorough reviews for this software I thought I'd take the plunge and try it out, then write up on real quick based on my experiences so far.

What is Seafile
Quite simply, it's another cloud storage provider for syncing files to varying devices, but there are a few things that set it apart from the more popular ones and make it more oriented towards collaboration -- and these are:
  1. Users and Groups. Each person on the service is a user that's possible to share to. You can create groups and add users to that group.
  2. Permissions. Most cloud storage providers don't really implement permissions very well or even at all in many cases, at least for their free versions (Syncplicity offers really advanced permission systems but you must pay a price thats impractical for non-commercial software). Seafile allows you to share libraries either publically, with read-only access for specified users/groups, or with read-write access with specified users/groups.
  3. Simple Logging. Changes made by clients with read-write access are written to a log enabling you to see which user changed what file.
  4. Open Source. There is an opensource version of the server software available that can be installed on any server that you have access to, if you want to create a personal cloud. I havent tested it though so for the purpose of this review, I will only be discussing my experiences with their own client and using the Seacloud service.
Getting Started

Signing up for the service was simple. In fact I didnt even have to verify my email address. I immediately had the option to create libraries and add files to it.

The thing about this service is that the web interface is functional, it's also not as nice or streamlined as many of the popular cloud provider interfaces and looks a bit spartan. Not the best first impression.

I immediately went to work creating a library. However there was no apparent clue telling me that there is a desktop client that you can install that will automagically sync your libraries, but I knew that it had a client based on the quick look I did through their main website.

After installing the client, I had to specify which server I wanted to use -- as I am using their providers, I used seacloud.cc as the provider. The test library I created on the web interface showed up as a library I could sync with, but the client wasnt downloading the test file I put up there, nor was it uploading any of the files I put on a locally shared library -- again not the best first impression, but everything proceeded smoothly after restarting the client software.

Permissions and Sharing

Permissions are important when you're collaborating with any parties that you don't completely trust to not wreck your assets (either through mistakes or through malice).

As a test, I created two groups, one called VSR_Dev and one called VSR_Access, and added a few people to each group. The first group would have unrestricted read-write access to the files and the latter would have only read permissions to the assets and limited write permissions.

Image

As my connection is terrible, I had another developer share his copy of our assets to seacloud instead of sharing my copy. He had some difficulty figuring out the desktop client interface (which is a bit confusing at first glance), but was eventually able to do it. The downside of doing it this way for me was that because he initially shared the library, he was also the owner of it so I was unable to modify its permissions or sharing settings unless he transferred ownership of that library to me.

I had him give read-write access of that library to VSR_Dev, and read-only access to the VSR_Access group. Then I granted another person membership to the Access group and verified his ability to read/download the files. He was able to do so successfully through the web interface.

Further experimenting with the perms reveals that it's possible to give read-write perms of a subfolder within an existing library to a group that normally has only read permissions. It was also possible to share files publically by giving other people a specified link created by the share button. However only the library's owner can use the share controls for that library which may be a good or bad thing depending on whether or not you are the owner!

The client software


The client software is installed on the computer and prefers to live in the system tray, synchronizing any changes between the local and remote copies of the shared libraries. For the most part it does its job well, immediately detecting changes and keeping them in sync.

Image

However, it's not nearly as user-friendly as most other cloud client software, and slightly confusing. In fact I had my collaborator ask me what category he is supposed to click on in order to add a library (the correct answer is: it doesnt matter). Once he added the library and shared it, I was given an option in my own client software to download the library, and even given the option to synchronize it into an existing folder. This is great because it saved me from having to redownload all the assets again, the client simply ran a compare against the assets he had and made the changes only where necessary.

Once it was set up and synchronizing things, I didnt find it to require any further user-intervention and committed changes immediately and painlessly -- popping up a quick message bubble showing recent files that were synced.

Extras

The service offered a few extras, like the ability to preview several different file types as well as to create a 'wiki' for your library. The preview isnt exceptional as it did not recognize our .odf files as plaintext files (which they basically are) so we couldnt preview it in the web interface, but it's functional for .txt files and several common plaintext files (like .sh files, and probably some C source files as well), various image file formats, as well as their own wiki-format files.

Image

The service also allowed us to send personal messages to other users and groups as well as inform them when new libraries are being shared with them. That said, theres not too many extras, but the ones that exist are really good core ones to have and add value to the service.

That said, it does not have nearly as many extras as a similar service like ownCloud does.

Value and Cost

The free package allows for 1GB of storage space and 10GB of monthly bandwidth. Not quite the best for anything that could be considered large as the storage space isnt outstanding, however it's still on-par with most other cloud storage providers but has no hard limits on how many users or groups you can have, which is a plus.

It is possible for $10/month to upgrade to a 10GB storage 100GB transfer package if using the Seacloud service but we don't really need it -- and if we did, the price would still be reasonable for what we get. And if we still didnt want to pay, then we could simply install it on our own servers. So overall i'd say that the value is above-average.

UPDATE: It seems that the storage space usage is increased based on the size of your library and the number of users you are sharing with. So you can share a 200MB library with 4 people which would fill up the quota, or a 500MB library with one other person before the quota fills, which lowers the value of the 'free' package significantly.

In Conclusion
This software is quite suitable for managing small projects where you don't need or want the power and complexity of a real versioning system like SVN (Seafile does contain versioning, but seafile's versioning system needs improvement). As far as usability goes, it's much like a simple cloud storage service but with a little more power and flexibility given the user, group and permissions system -- and I think thats because its more oriented towards collaboration than simply being a file repository or backup service. For that, it does its job well and I would highly recommend it if you need to be able to collaborate but don't need the power of a full-on versioning system.

The good:
  • Offers a good value for what you get (in terms of transfer and storage space)
  • It has a workable permissions system.
  • File previews are nice.
  • Signing up and using the service is hassle-free.
  • It's nice and stable and I've only found one bug that was easily worked around.
  • UPDATE: Seafile offers a snapshotting feature which allows you to revert to a previous snapshot if anything goes wrong.
The bad:
  • Versioning support is somewhat limited, though does work.
  • The previewing system cannot be set up to recognize custom file formats as plaintext
  • As above, there's no way to set up a system where another user can review your changes and decide to commit it to the project or not
  • Not as many extras as ownCloud, it's competitor (though ownCloud has its own weaknesses too)
  • UPDATE: Apparently the quota is calculated with libraries you are sharing multipled by the amount of people you are sharing with, so you could only share a 500MB library with one user, and a 200MB library with 4 users before using up the quota. This lowers the value.

The ugly:
  • Both the web and client interfaces are a little janky and can mar a good first impression, but not bad once you've done so.
My Rating? 4/5 stars. A few weaknesses, but otherwise a stable and competent cloud storage provider.
Regulators
Regulate any stealin' of this biometal pool, we're damn good, too
But you can't be any geek off the street
Gotta be handy with the chains if you know what I mean
Earn your keep
Post Reply