Fast cloud storage for in-house hosting

Sea Freight

Article from Issue 264/2022

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

When it comes to file synchronization and collaborative work, the kings of the hill in the open source universe are ownCloud and Nextcloud. But because other vendors have attractive products too, let's take a look at Seafile [1], which bills itself on its website as an open source file synchronization and sharing solution designed for high reliability, performance, and productivity. Like with Nextcloud or ownCloud, users retain full control over their data. Seafile tends to hide its light under a bushel. This article tries to clarify why this is so, because, in terms of functionality, there is no need for Seafile to hide at all.


Let's start by clarifying the main differences between Seafile and the aforementioned competitors. Seafile's strengths lie in its file sharing and synchronization features. Nextcloud and ownCloud see themselves more as full-fledged groupware solutions with many apps and continually-expanding feature sets. One technical difference that only becomes apparent when you read the specifications for the first time is that while Nextcloud relies on PHP, Seafile is written in C and Python, with the Django framework working in the background.

The software is developed by Chinese vendor Seafile Ltd. and based on the client-server principle. The free Community Edition was developed in 2012 from the Seafile Professional Server Edition and reached version 9 in December 2021. Since then, there have been several minor updates to Seafile Server 9.0.5, which is the version on which our test is based.

If you have any concerns about the software coming from China, the Community Edition of Seafile is completely open source and is published under the GPLv2. You can view the code on GitHub and follow its development [2]. Until 2016, there was a German company named Seafile GmbH, which had to change its name after a dispute over rights with the Beijing-based Seafile Ltd., and it has since operated as Syncwerk GmbH.


On the server side, the Professional Edition only offers support for Linux, while the Community Edition also offers servers for Windows and Raspberry Pi OS. Clients of both editions are available for Linux, macOS, and Windows, as well as Android and iOS. In addition, there is a web interface named Seahub. The project's website offers a checklist comparison of the respective features of the two editions [3]. You can check out whether the Community Edition is okay for your use case or whether you need to splash out some cash on the Pro Edition. Among other things, the Community Edition lacks full-text searching via ElasticSearch and LDAP integration.

You can explore a demo of Seafile from the company's homepage [1]. If you limit Seafile to just three users, you can use the Pro version for free if needed. And if you want to try Seafile Pro Edition with more than three users, you can contact the company (see under "How to order" [3]) and receive the program and a trial license for three weeks.

Seafile's web interface is clear-cut and the learning curve is short. The button functions are usually self-explanatory, with additional tooltips popping up when you mouse over the buttons.

Seafile uses libraries to manage uploaded files or any files created in Seafile. Each library can be synchronized, encrypted client-side, and shared separately. In the libraries, you can create hierarchical directory structures with folders and subfolders as needed. Synchronization supports a location-independent work approach with clients always kept in sync on the remote devices.


If you decide to use Seafile, you first need to install it. On the download portal [4], you will find servers for Linux for both editions and for the Raspberry Pi in the Community section. The clients are broken down into Desktop Syncing Clients and Desktop Drive Clients, the Drive Clients giving users access to files on the server without synchronizing them with the local disk. For each of the two variants, clients are available for Linux (GUI and terminal), macOS, and Windows. Clients for mobile devices are available for Google's Android platform and Apple's iOS.

The Linux server offers three installation scenarios. Starting in version 8.0, the project recommends installing in a Docker container. The setup is automatically handled by a Docker compose file [5]. The second method, in the form of an installation script, sets up the server with MariaDB, Memcached, and NGINX as a reverse proxy in a few minutes, but the script is considered deprecated [6].

With the third method you do everything manually [7]. Although this offers the greatest knowledge gains, it takes the longest and entails the risk of getting many things wrong. If you prefer this way, you should go for MySQL/MariaDB rather than the SQLite option, because you will reach SQLite's limits sooner or later. Docker benefits: For one thing, the installation works with any distribution that supports Docker. On the other hand, the containers offer more flexibility because they can be copied faster and easily moved to another host.

Buy this article as PDF

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

Buy Linux Magazine

Get it on Google Play

US / Canada

Get it on Google Play

UK / Australia

Related content

  • 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.

  • Docker Open Source Developer Tools

    Docker provides the open source tools and resources for compiling, building, and testing containerized applications.

  • ShellHub

    ShellHub offers an innovative approach to remote access with minimal reconfiguration of a firewall.

  • LinkAce/floccus

    LinkAce and floccus synchronize and manage bookmarks while storing your data locally.

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