Managing files in the Seafile personal cloud

Sea Treasure

© Lead Image © Randy Hines, 123RF.com

© Lead Image © Randy Hines, 123RF.com

Article from Issue 174/2015
Author(s):

Sync your devices and collaborate with other users in your own personal cloud.

Cloud services have become a necessary evil. Most users have multiple devices and want access to the same data across all those devices. Gone are the days when a user was satisfied to move data between devices using USB drives.

Users now want data to move with them – and that means network-based storage, sync, and sharing. Several Internet services offer cloud-based file storage and synchronization, but some users don't want to risk throwing their data onto an unknown server and moving it across the Internet whenever they want access.

But, what if you could have the power of the cloud with the safety of on-site storage? Linux and open source tools like Seafile [1] can empower users to become the service providers and let them keep their data under their own control.

What Is Seafile?

Seafile is an open source file storage, sync, and share solution. You can run Seafile on a local server, and it acts as the central location for storing your files (documents or multimedia). You can then sync your devices (desktop, laptop, smartphone, tablet, etc.) with this server. Your data is now accessible across devices – just like Dropbox. The only difference is you own this Dropbox.

However, Seafile is much more than just a file storage and sync tool. You can use Seafile to create a very complex network of communication, and it can handle more than just files. If you are using Seafile in an organization, you can create multiple users and add those users to groups representing different units of the organization. Each Group can have its own Libraries, and you can share the files in those libraries with either read only or write permissions.

Seafile is not limited to file storage and sharing. Some of its built-in capabilities include online file editing (though it doesn't work in real-time as does Google Docs), wikis, discussions, messages, and contacts.

It also has a notification system – users are notified every time an activity happens in their account, such as a message delivery or the sharing of a file, group, or library.

One of the greatest features of Seafile is the client-side encryption, which alone makes it a desirable solution. When a user creates a new library using the desktop client (you can simply drag and drop a folder to create the library), Seafile provides the option to encrypt the library.

All the files and folders added to this library are encrypted before they are uploaded to the server. The password is never sent or stored on the server. Even the sys admin of the Seafile server cannot access the encrypted content.

The client-side encryption does not work when libraries are created using a browser or the mobile client. If you want extreme protection, don't create new libraries using the web browser or the mobile client. Use the desktop client instead. Before you entrust Seafile with extremely sensitive data, see the Security Features page at the Seafile website [2].

In the post Snowden era, trust in public data services is declining. Many users are looking for solutions like Seafile that offer complete control over the cloud. Organizations that deal with sensitive data often want on-premises, self-hosted solutions for privacy as well as security reasons. Almost everyone who deals with sensitive data is a potential Seafile user.

Additionally, connecting Seafile with Kolab's groupware provides a best-of-the-breed, fully open source, complete self-managed enterprise solution.

The closest competitor of Seafile is probably ownCloud, which uses the traditional model of file storage and sharing. Both solutions have pros and cons, I personally have had mixed experiences with ownCloud (which is why I started looking for alternatives and found Seafile. However, both ownCloud and Seafile are actively developed and available for no cost. Try them and see which one suits you best.

Which Seafile to Choose?

Seafile, which is the organization behind the Seafile project, offers two products:

  • Seafile cloud service, a managed cloud-like Dropbox.
  • The open source Seafile application, which users can download and install on their own servers. The self-hosted server comes in two editions: the free-of-cost Community Edition and the paid Pro Edition. The Pro edition comes with email support and additional features that are missing from the community edition [3].

This article will focus on the community edition.

The Server

I installed Seafile on a hosted Digital Ocean Virtual Private Server (VPS). I chose a moderate server – 1GB RAM, 1 Core CPU and 30GB SSD for $10 per month.

The VPS is running a fully patched Ubuntu 14.04 LTS server, although you could install Seafile on any Linux distribution. Core components needed for the complete solution include Python, MariaDB, Nginx, OpenSSL, and obviously, Seafile.

The Seafile application actually runs on top of a web server. You can install Seafile on an Apache server, but the alternative Ngnix web server is known to be more resource efficient than Apache. MySQL (MariaDB) and SQLite are the officially supported databases. Like many in the open source community, I use MariaDB instead of MySQL.

Buy this article as PDF

Express-Checkout as PDF
Price $2.95
(incl. VAT)

Buy Linux Magazine

SINGLE ISSUES
 
SUBSCRIPTIONS
 
TABLET & SMARTPHONE APPS
Get it on Google Play

US / Canada

Get it on Google Play

UK / Australia

Related content

  • Seafile 9

    Seafile offers file sharing and synchronization like Nextcloud and ownCloud, but its speed leaves the competition far behind.

  • simpleDrive

    If you value data security and privacy, you might want to build your own cloud storage. SimpleDrive offers a workable alternative to this time-consuming project.

  • Comparing Cloud Providers

    Many companies now offer data storage in the cloud. We tested seven alternatives with a close look at security features.

  • Nginx

    The fast and practical Nginx web server is easy to configure and extend.

  • Introduction

    This month in Linux Voice.

comments powered by Disqus
Subscribe to our Linux Newsletters
Find Linux and Open Source Jobs
Subscribe to our ADMIN Newsletters

Support Our Work

Linux Magazine content is made possible with support from readers like you. Please consider contributing when you’ve found an article to be beneficial.

Learn More

News