📜 ⬆️ ⬇️

Another Dropbox clone with the ability to install your own server or ownCloud vs. Seafile

I’ve been looking for a Dropbox replacement for something so that you can fully manage the server, the storage size would be limited only by the size of the disk on the server and the client must be intuitive, run under Linux / MacOS / Windows, be able to synchronize the directory on the local computer without the need to mount any remote sources, i.e. have access to files offline. Below I will talk about my experience using ownCloud and Seafile.

ownCloud


The most suitable product for the parameters that I came across was ownCloud. The description was promising. The client is under all popular OS, the ability to download and install your server, a nice web interface. In addition, it is written by people related to KDE, so the quality should be on par.
True ownCloud had a bunch of additional, unnecessary services to me, such as: gallery, mp3 player, calendar, contacts and much more. But he could authorize users using LDAP.

Server

Well, let's try. Nginx, php-fpm, PostgreSQL were installed, ownCloud was downloaded and configured. I login under the admin, set up LDAP, try logging in under the LDAP user and ... immediately get the 500th error. After a long search, it was found that the LDAP + PostgreSQL bundle in ownCloud works very poorly, and it seems that PostgreSQL support is generally very poorly implemented, since developers are trying to use the same queries on different types of DB . Well, PostgreSQL was replaced with MySQL and LDAP was working as planned. True, he did not want to work through the standard LDAP 389 port, he earned only through the Gloval Catalog port 3268.

Customer

It is time to try the client. I download, install, run, connect to the server, indicate where the directory will be located for synchronization. So far so good. I upload files to the directory. They are uploaded to the server. I go to the web, share the directory for other users and ... nothing. They don't see her. Even through the web interface. After a long search again, a workaround was found, speaking in Russian “crutch”. In the clientsync directory on the server, each user who needs to open access is made a symlink to the “main” directory of the user, which opens access to his files. Then there were a lot of experiments, during which the clientsync directory appeared in the web interface, then no, bug reports were found, which dealt with problems with updating the cache in the database, but I did not find a ready-made "correct" solution.
')
Also with the client under Linux a rather unpleasant bug was found . After long work, he opened and did not close many / dev / urandom files, ceasing to work with the message “Too many open files”.

In the beginning, I tried to create bug reports, use the version from master, but then I realized that critical problems for me, such as directory sharing, the main thing for which I was going to use my ownCloud, are solved very slowly. So ownCloud was gradually forgotten and abandoned.

Seafile


But just a few days ago on one of the news sites I saw the news about the release of version 1.3 of a certain Seafile system, which also attempts to replace Dropbox. Later it turned out that before version 1.3 it was only in Chinese and therefore was not widely known.

The description seemed tempting to me and I decided to try.

Server

The server for the storage was already there, so it only remained to install Seafile. Download, unpacked. Out of habit, he created a new database, launched the installer. He cursed the lack of a pair of packages. Install packages, run the installer again. I answered literally a few questions, such as, server name, URL, ports, paths, login and admin password and everything, the server is installed. No database is needed (at the moment Seafile uses sqlite, later it is planned to support other databases). If you want, even the web server is not needed, Seafile has its own built-in web server. But I already had a configured nginx with a valid ssl certificate, so all I had to do was configure it to proxy requests to Seafile. Later I found a ready, with a slightly different principle, the ngnix config for Seafile, but “it works — don't touch”.

Log in to the server, see the message about the absence of libraries and a brief instruction on how to add them and how to synchronize with the computer


Add the "library". You can specify a password to encrypt it, but I have not tested it yet.


And so, we have a library in which files from clients will be stored. As you can see, there are no problems with the Russian language. Looking ahead to say that they are not with files in Cyrillic.
The library can be: download (add to the client), share or delete.


Customer

Now it's customer's turn. I downloaded the deb package for my kubuntu 12.10, installed it and, out of habit, wanted to launch it from the console, but the 'seafile' command only showed an example of its use. Later I found that I need to run the 'seafile-applet'. Or through the KDE menu, there it is called Seafile with an orange logo.

And so, the client has started. In KDE, it was integrated into the tray with an incomprehensible icon, or rather without it, and the menu looks somewhat incomprehensible:


Go back to our server, click on Dowload next to the library. Depending on the browser, a new window or tab with the address localhost : 13420 / repo / download / opens and further service information and a page with the following contents:


You can accept the default path or specify your own. You can also specify an existing data directory by clicking on the “sync with an existing folder”. In this case, you will have to manually enter or copy / paste the full path to the directory, there is no Browse button. Files in the directory will be combined with files in the library, if any.

And that's it! Seafile will automatically sync and send or download files from / to the server.

Sharing a library is no big deal. You can share as a separate user, having previously created an account for him, and a group of users. The shared libraries for a group can be viewed by clicking on the group name in the lower right below “My Groups”. In future versions they will also be displayed in “My Home -> Shared”. You can give access to both read-write and read-only. If you select the latter option, the files added by the user simply will not be loaded into the library. The files changed on the user’s side will most likely be overwritten by files from the server, but I haven’t yet checked.

The user only needs to download and install the client, go to the server and download the library. Everything is very simple and after the first time it becomes intuitive.

Results

At the moment, Seafile for me looks like the most appropriate replacement for Dropbox. The lack of LDAP keeps the company from being implemented in the company, but it is quite suitable for personal use if there is an extra server.

Minuses:


Pros:


I don’t know whether it’s a plus or a minus, but everything is stored in a git-like scm, so if a file is accidentally deleted or overwritten, you can always restore it. True only through the web interface. This is a plus. The minus, judging by the discussion, is that if you store large binary files, the repository will greatly grow.

While writing an article, I discovered a couple more minor bugs, such as, for example, when deleting a library in the client and / or on the server, it is not deleted from the client’s Download Tasks or the Seafile client does not automatically load when Windows starts, although this option is enabled, they all have no effect on file synchronization and overall system performance, and I consider Seafile to be quite suitable, at a minimum, for personal use as a replacement for Dropbox.

Source: https://habr.com/ru/post/162979/


All Articles