Server 8.0.2 ready for production?


This is my first Seafile installation and it seems like Server 8.0.2 is not working. It seems like all the documentation and other forum posts either refer to version 6 or 7 so I was wondering if I just made a noob mistake or should I rather downgrade to one of those version?

My setup in Ubuntu 20, Nginx, MariaDB 10.3.25

But when I connect with my browser I get “Internal Server Error”

I followed these instructions: https ://

It seems like everything went okay:

Checking python on this machine ...

This script will guide you to setup your seafile server using MySQL.
Make sure you have read seafile server manual at


Press ENTER to continue

What is the name of the server? It will be displayed on the client.
3 - 15 letters or digits
[ server name ] *******

What is the ip or domain of the server?
For example:,
[ This server's ip or domain ] *************

Which port do you want to use for the seafile fileserver?
[ default "8082" ]

Please choose a way to initialize seafile databases:

[1] Create new ccnet/seafile/seahub databases
[2] Use existing ccnet/seafile/seahub databases

[ 1 or 2 ] 1

What is the host of mysql server?
[ default "localhost" ]

What is the port of mysql server?
[ default "3306" ]

What is the password of the mysql root user?
[ root password ]

verifying password of user root ...  done

Enter the name for mysql user of seafile. It would be created if not exists.
[ default "seafile" ]

Enter the password for mysql user "seafile":
[ password for seafile ]

verifying password of user seafile ...  done

Enter the database name for ccnet-server:
[ default "ccnet-db" ]

Enter the database name for seafile-server:
[ default "seafile-db" ]

Enter the database name for seahub:
[ default "seahub-db" ]

This is your configuration

    server name:            *******
    server ip/domain:       **********

    seafile data dir:       /opt/seafile/seafile-data
    fileserver port:        8082

    database:               create new
    ccnet database:         ccnet-db
    seafile database:       seafile-db
    seahub database:        seahub-db
    database user:          seafile

Press ENTER to continue, or Ctrl-C to abort
Generating ccnet configuration ...

Generating seafile configuration ...

Generating seahub configuration ...

Now creating ccnet database tables ...

Now creating seafile database tables ...

Now creating seahub database tables ...


creating seafile-server-latest symbolic link ...  done

Your seafile server configuration has been finished successfully.

run seafile server:     ./ { start | stop | restart }
run seahub  server:     ./  { start <port> | stop | restart <port> }

If you are behind a firewall, remember to allow input/output of these tcp ports:

port of seafile fileserver:   8082
port of seahub:               8000

When problems occur, Refer to

for information.

The the server was started:

./ start

Starting seafile server, please wait ...
** Message: 14:01:59.720: seafile-controller.c(535): No seafevents.

Seafile server started


./ start

LANG is not set in ENV, set to en_US.UTF-8
LC_ALL is not set in ENV, set to en_US.UTF-8
Starting seahub at port 8000 ...

Seahub is started


My nginx setup is:

log_format seafileformat '$http_x_forwarded_for $remote_addr [$time_local] "$request" $status $body_bytes_sent "$http_referer" "$http_user_agent" $upstream_response_time';

server {
    listen       80;
    server_name cloud.***;
    rewrite ^ https://$http_host$request_uri? permanent;    # force redirect http to https

    # Enables or disables emitting nginx version on error pages and in the "Server" response header field.
    server_tokens off;

server {
	listen 443 http2;
	listen [::]:443 http2;

    server_name cloud.***;

    proxy_set_header X-Forwarded-For $remote_addr;

    ssl_certificate /etc/letsencrypt/live/***/fullchain.pem; # managed by Certbot
    ssl_certificate_key /etc/letsencrypt/live/***/privkey.pem; # managed by Certbot
	add_header Strict-Transport-Security "max-age=31536000; includeSubDomains" always;
	server_tokens off;

    location / {
         proxy_set_header   Host $host;
         proxy_set_header   X-Real-IP $remote_addr;
         proxy_set_header   X-Forwarded-For $proxy_add_x_forwarded_for;
         proxy_set_header   X-Forwarded-Host $server_name;
         proxy_read_timeout  1200s;

         # used for view/edit office file via Office Online Server
         client_max_body_size 0;

         access_log      /var/log/nginx/seahub.access.log seafileformat;
         error_log       /var/log/nginx/seahub.error.log;

    location /seafhttp {
        rewrite ^/seafhttp(.*)$ $1 break;
        client_max_body_size 0;
        proxy_set_header   X-Forwarded-For $proxy_add_x_forwarded_for;

        proxy_connect_timeout  36000s;
        proxy_read_timeout  36000s;
        proxy_send_timeout  36000s;
	proxy_request_buffering off;

        send_timeout  36000s;

        access_log      /var/log/nginx/seafhttp.access.log seafileformat;
        error_log       /var/log/nginx/seafhttp.error.log;

    location /media {
        root /var/seahub;

I created the /var/seahub directory manually and it is owned by www-data.

The logs:

cat controller.log
[01/25/21 14:01:59] seafile-controller.c(189): starting seaf-server ...
[01/25/21 14:01:59] seafile-controller.c(80): spawn_process: seaf-server -F /opt/seafile/conf -c /opt/seafile/ccnet -d /opt/seafile/seafile-data -l /opt/seafile/logs/seafile.log -P /opt/seafile/pids/ -p /opt/seafile/seafile-server-8.0.2/runtime
[01/25/21 14:01:59] seafile-controller.c(114): spawned seaf-server, pid 152615
root@vmi501259:/opt/seafile/logs# cat seafile.log
[01/25/21 14:01:59] ../common/seaf-utils.c(333): Use database Mysql
[01/25/21 14:01:59] http-server.c(181): fileserver: worker_threads = 10
[01/25/21 14:01:59] http-server.c(196): fileserver: fixed_block_size = 8388608
[01/25/21 14:01:59] http-server.c(211): fileserver: web_token_expire_time = 3600
[01/25/21 14:01:59] http-server.c(226): fileserver: max_indexing_threads = 1
[01/25/21 14:01:59] http-server.c(241): fileserver: max_index_processing_threads= 3
[01/25/21 14:01:59] http-server.c(263): fileserver: cluster_shared_temp_file_mode = 600
[01/25/2021 02:18:58 PM] start to serve on pipe client
[01/25/2021 03:48:30 PM] start to serve on pipe client
[01/25/2021 03:51:57 PM] start to serve on pipe client
[01/25/2021 03:56:32 PM] start to serve on pipe client
[01/25/2021 04:08:12 PM] start to serve on pipe client
[01/25/2021 04:13:51 PM] start to serve on pipe client
[01/25/2021 04:16:29 PM] start to serve on pipe client

seahub.log is empty
seafhttp.error.log is empty

tail -f seahub.access.log
- ********* [25/Jan/2021:20:03:16 +0100] "GET / HTTP/2.0" 500 141 "-" "Mozilla/5.0 (Windows NT 10.0; Win64; x64; rv:84.0) Gecko/20100101 Firefox/84.0" 0.008
tail -f seahub.error.log

Doesn’t move when I access the URL in my webbrowser that display “Internal Server Error”.

Any advise what else I could try or look at?

Did the server work without SSL?