Battling again to install Seafile on CentOS

New installation on CentOS this time. Linux fans wonder why Windows people roll their eyes at the complexity sometimes :wink:

My own Seafile installation is running on Mint which is Debian based. The installation instructions here just don’t work - going around in circles with incompatible versions of nearly everything concerning the pre-requisites:

First question - does Seafile v8.x use v2.7 (as documented) or v3.x as I’ve got installed on my own Seafile server (and in the documentation I put together).

Second question, anyone got a working list of install instructions for CentOS v7.9?

From the following line:

yum -y install MySQL-python python-memcached python-ldap python-urllib3 ffmpeg ffmpeg-devel python-requests

The following packages aren’t not available:

No package ffmpeg available.
No package ffmpeg-devel available.

Is this a problem?

This command also fails: pip install moviepy

error in moviepy setup command: 'extras_require' must be a dictionary whose values are strings or lists of strings containing valid project/version requirement specifiers.
Command "python egg_info" failed with error code 1 in /tmp/pip-build-7pOcew/moviepy/

Seafile v8.x uses 3.x as Python version. The documentation is quite old (it references Ubuntu 14.04 and 16.04…)

Unfortunately, other than that, I can’t help you as I have no experience with CentOS.

Should not be a problem. ffmpeg is a library (or rather set of libraries) for video playback.

I agree: An update of the manual is a must! (A general overhaul a nice to have.)

Thanks Squirrel - that’s pretty much what I thought considering my own v8 installation is clearly running Python v3. I’ll devote the time understanding the various pre-requisites in detail and reading up on the Python v3 variants.

I love Seafile but the installation instructions really let it down. I know everyone is busy but getting the installation instructions up to date re Python v3 should be done.

Only see this now: Do NOT use sqlite. Unless you install on a RasPi, I don’t see any reason to choose sqlite over mysql. And even on a recent RasPi, I’d probably use mysql.

Hence this should be the instructions to follow.

My home install is just for my use and there isn’t much in there so sqlite3 was fine. However, yes, as MySQL is going on the production Linux server in Azure anyway, I’ll use that for the client.

Okay, I’ve worked out the pre-requisites for CentOS v7.9 and Seafile v8.x. Quite simple in the end:

sudo yum -y install python3
sudo pip3 install Pillow pylibmc captcha jinja2 sqlalchemy==1.3.8 django-pylibmc django-simple-captcha python3-ldap

Don’t need to separately install python3-setuptools or python3-pip as these are installed at the same time as Python3.

Also don’t need to install sqlite3 either as that’s part of the core CentOS v7.9 install.

Hours and hours this has taken but I’ve finally got it working on CentOS 7.9 with MariaDB. Like pulling teeth. I got it working with sqlite ages ago but when I tried to use MariaDB, seahub would not start. Turns out that mysqlclient isn’t installed and won’t install without the following installed first:

sudo yum -y install mariadb-server gcc mariadb-devel python3-devel

Once these are installed, the following can be used to install mysqlclient and then seahub starts:

sudo pip3 install mysqclient

So these need adding as prerequisites when running MariaDB - which appears to be the preferred solution on CentOS as MySQL is not being actively developed?

Did you take a look at

and especially


No because as far as I know they are not mentioned in the server installation manual?

@daniel.pan @Jonathan This thread is testament to the fact that even experienced Seafile users don’t understand the Seafile manual any more. This is alarming!

On a similar note, a customer complained to me just yesterday that there were no instructions for installing Seafile under Ubuntu 20.04 - more than 1 year after the release of Ubuntu 20.04.


In the manual, the recommend ways to deploy Seafile are in the following order:

  1. Using docker
  2. Using installation script
  3. Deploy manually with MySQL
  4. Deploy manually with SQLite

The fourth way is rarely used. So we don’t put much attention to this one. The problem in this thread is related to it.

Actually SQLite is the first method but it does say personal/home:

Thanks for the nod about Docker. You may have inferred from the first line that Linux is not my normal environment although as a 35+ year old timer in IT, I’m more than happy with command lines. So my knowledge of the entire environment is sketchy to say the least. I’ve learnt a lot more about Linux over the past few days which has been “fun” :slight_smile:

The reason I’m wary of scripts is that I like to understand what’s getting installed - even do that with Windows installs where I go and check what extras just got installed. Also, the script mentions only tested with Centos 7.1 and Azure gives you a later version of v7.9. Maybe incorrectly, but I expected it not to work. Although I notice that the guthub version for CentOS v7.1 was updated 3 months ago. Most new installs are going to be on the latest version of the OS.

I’ll do some reading on Docker.

Maybe engender some sharing of installation notes? I’m pretty anal in this area and insist that all installations and changes are documented in a simple Excel workbook:

Okay first hurdle/worry for newbie is the page for Docker doesn’t mention Seafile v8:

So immediately I’m confused as to whether the 7.x.x instructions will work with v8.x?

I will re-iterate that most new installs will be on the latest version so the documentation needs to headline on v8?

The problem is much broader than that as Rob also points out.

Here just a few, but important shortcomings:

1.) You recommend Docker as preferred deployment option - this information is not available in the manual. I personally did not know that, despite the fact that I work a lot with Seafile.


2.) The Docker install instructions don’t mention Seafile Server 8 (as pointed out by Rob).

3.) The install script page …
a.) does not detail the installation on current OS (i.e., Debian 10, Ubuntu 20.04)
b.) does not work for Ubuntu 20.04 (I was told by a customer, did not test myself)
c.) does not elaborate on Seafile 8

4.) The manual installation makes no mention of Ubuntu 20.04. It also contains some flaws.

5.) The SQLite option is described as suitable for Home/Personal Environment. Why should I as a home user opt to use SQLite if
a.) my RasPi has 4 cores,
b.) the support in the forum is inferior to the MariaDB/MySQL option because it’s rarely used and
c.) even the developers say that they don’t devote attention to it.

This are just comments on the basic installation. I have not gone into special topics.

I have created a pull request for the manual installation instructions close to a month ago. Once it has been merged, I am happy to continue to work on the page.

The manual instructions are crucial as they serve as a reference.


An allied point here about documentation is that it’s often the first view that a new customer has of a system. If the documentation is out of date, it reflects badly on the entire ecosystem.

1 Like

I’m also in a big struggle to get Seafile running on my server… Error after error, Seafile acknowledges the lack of documentation. When asked if there is any support available, they would charge me 500 euros to complete the installation. This is complete nonsense.

Anyhow, is there anyone here who can give me some help?