Seafile pro edition 10.0 is ready!

Seafile pro edition 10.0 is ready now.

Here are major changes in version 10.0:

  • Update Python dependencies and support Ubuntu 22.04 and Debian 11
  • Add a new notification server
  • Enable limiting download/upload speed for a certain role
  • Simplified configuration for SAML authentication
  • Some improvements of multi-tenancy mode, like a team admin can set team logo, support each team to have its own SAML login
  • Watch and get notifications for libraries
  • Support a user to generate multiple share links for a single file/folder

The notification server enables desktop syncing and drive clients to get notification of library changes immediately using websocket. There are two benefits:

  1. Reduce the time for syncing new changes to local
  2. Reduce the load of the server as periodically pulling is removed. There are significant reduction of load when you have 1000+ clients.

The notification server works with Seafile syncing client 9.0+ and drive client 3.0+.

Please follow the document to upgrade to Seafile 10.0: Upgrade notes for 10.0.x - Seafile Admin Manual

4 Likes

2 problems identified with this new version (running from the CentOS tarball on AlmaLinux 8 x86_64)

  • In the CentOS tarball, the python lib dir is for python2.7 instead of python3 (dir seafile/lib64/python2.7 instead of seafile/lib64/python3). A simple symlink work around this
  • I can’t get the ES indexation to work. Running ES 8.7.1, I wiped my existing index, but when I try to update the index I get this
Updating search index, this may take a while...

05/21/2023 11:49:26 [INFO] seafes:210 main: storage: using filesystem storage backend
05/21/2023 11:49:26 [INFO] seafes:212 main: index office pdf: True
05/21/2023 11:49:26 [INFO] elastic_transport.transport:336 perform_request: HEAD http://localhost:9200/repo_head [status:404 duration:0.006s]
05/21/2023 11:49:26 [INFO] elastic_transport.transport:336 perform_request: PUT http://localhost:9200/repo_head [status:200 duration:0.241s]
05/21/2023 11:49:26 [INFO] elastic_transport.transport:336 perform_request: PUT http://localhost:9200/repo_head/_mapping [status:200 duration:0.062s]
05/21/2023 11:49:26 [INFO] elastic_transport.transport:336 perform_request: POST http://localhost:9200/repo_head/_refresh [status:200 duration:0.012s]
05/21/2023 11:49:26 [INFO] elastic_transport.transport:336 perform_request: HEAD http://localhost:9200/repofiles [status:404 duration:0.003s]
05/21/2023 11:49:27 [INFO] elastic_transport.transport:336 perform_request: PUT http://localhost:9200/repofiles [status:200 duration:0.641s]
05/21/2023 11:49:27 [INFO] elastic_transport.transport:336 perform_request: PUT http://localhost:9200/repofiles/_mapping [status:200 duration:0.033s]
05/21/2023 11:49:27 [INFO] elastic_transport.transport:336 perform_request: POST http://localhost:9200/repofiles/_refresh [status:200 duration:0.005s]
05/21/2023 11:49:27 [INFO] seafes:161 start_index_local: Index process initialized.
05/21/2023 11:49:27 [INFO] seafes:45 run: starting worker0 worker threads for indexing
05/21/2023 11:49:27 [INFO] seafes:45 run: starting worker1 worker threads for indexing
05/21/2023 11:49:27 [ERROR] seafes:113 get_repo_id_commit_id: tuple indices must be integers or slices, not str
05/21/2023 11:49:27 [ERROR] seafes:58 run: Error: tuple indices must be integers or slices, not str
05/21/2023 11:49:29 [DEBUG] seafes:94 thread_task: Queue is empty, worker0 worker threads stop
05/21/2023 11:49:29 [DEBUG] seafes:94 thread_task: Queue is empty, worker1 worker threads stop
05/21/2023 11:49:29 [INFO] seafes:119 thread_task: worker0 worker updated at 2023-05-21 11:49 time
05/21/2023 11:49:29 [INFO] seafes:124 thread_task: worker0 worker get 0 error
05/21/2023 11:49:29 [INFO] seafes:119 thread_task: worker1 worker updated at 2023-05-21 11:49 time
05/21/2023 11:49:29 [INFO] seafes:124 thread_task: worker1 worker get 0 error
05/21/2023 11:49:29 [INFO] seafes:38 clear_worker: All worker threads has stopped.
05/21/2023 11:49:29 [INFO] seafes:164 start_index_local:

Index updated, statistic report:

05/21/2023 11:49:29 [INFO] seafes:165 start_index_local: [commit read] 0
05/21/2023 11:49:29 [INFO] seafes:166 start_index_local: [dir read]    0
05/21/2023 11:49:29 [INFO] seafes:167 start_index_local: [file read]   0
05/21/2023 11:49:29 [INFO] seafes:168 start_index_local: [block read]  0

And none of my files are returned in search results. Files uploaded are also not being indexed. Communication from Seafile to ES seems fine, as I can see this while searching

mai 21 11:51:36 alma8 python[12925]: 2023-05-21 09:51:36,575 [DEBUG] urllib3.connectionpool:228 _new_conn Starting new HTTP connection (1): localhost:9200
mai 21 11:51:36 alma8 python[12925]: 2023-05-21 09:51:36,581 [DEBUG] urllib3.connectionpool:456 _make_request http://localhost:9200 "HEAD /repofiles HTTP/1.1" 200 0
mai 21 11:51:36 alma8 python[12925]: 2023-05-21 09:51:36,582 [INFO] elastic_transport.transport:336 perform_request HEAD http://localhost:9200/repofiles [status:200 duration:0.008s]
mai 21 11:51:36 alma8 python[12925]: 2023-05-21 09:51:36,590 [DEBUG] urllib3.connectionpool:456 _make_request http://localhost:9200 "POST /repofiles/_search?_source_includes=repo,path,filename,is_dir HTTP/1.1" 200 160
mai 21 11:51:36 alma8 python[12925]: 2023-05-21 09:51:36,590 [INFO] elastic_transport.transport:336 perform_request POST http://localhost:9200/repofiles/_search?_source_includes=repo,path,filename,is_dir [status:200 duration:0.007s]

We will check the issue later.

Update the docker compose please

Not using docker/docker-compose, but manual installation from the tarball

Upgraded from 9.0.8 to 10.0.4 on Debian 11 with no issues at all – thanks

The problem was the SQLAlchemy version in my venv (which was from the 2.x branch). Downgrading to the 1.4.3 version (just like the Docker image) made it.

Hi dani,

what do you mean under “simple symlink work around this”? Could you elaborate perhaps?

Thanks!

I mean create a symlink from the 2.7 dir to the 3 dir, like

ln -sf /opt/seafile/seafile-server/seafile/lib64/python2.7 \
       /opt/seafile/seafile-server/seafile/lib64/python3