Skip to content

Upgrade notes for 12.0

Important release changes

Seafile version 13.0 has following major changes:

  • A redesigned Web UI
  • SeaDoc is now version 2.0, beside support sdoc, it support whiteboard too
  • A new thumbnail server component is added to improve performance for thumbnail generating and support thumbnail for videos
  • A new metadata server component is avaible to manage extended file properties
  • The web interface now support real-time update when other people add or remove files
  • SeaSearch is now version 1.0 and support full-text search

Configuration changes:

  • S3, database and memcache configurations are added to .env too
  • Elastic search is now have its own yml file

Breaking changes

  • For security reason, WebDAV no longer support login with LDAP account, the user with LDAP account must generate a WebDAV token at the profile page
  • [File tags] The old file tags feature can no longer be used, the interface provide an upgrade notice for migrate the data to the new file tags feature

Deploying Seafile with binary package is no longer supported for community edition. We recommend you to migrate your existing Seafile deployment to docker based.

ElasticSearch change (pro edition only)

Elasticsearch version is not changed in Seafile version 13.0

New system libraries (TO be updated)

apt-get install -y default-libmysqlclient-dev build-essential pkg-config libmemcached-dev
apt-get install -y libsasl2-dev

New Python libraries (TO be updated)

Note, you should install Python libraries system wide using root user or sudo mode.

sudo pip3 install future==1.0.* mysqlclient==2.2.* pillow==10.4.* sqlalchemy==2.0.* pillow_heif==0.18.0 \
gevent==24.2.* captcha==0.6.* django_simple_captcha==0.6.* djangosaml2==1.9.* \
pysaml2==7.3.* pycryptodome==3.20.* cffi==1.17.0 python-ldap==3.4.*
sudo pip3 install future==1.0.* mysqlclient==2.1.* pillow==10.4.* sqlalchemy==2.0.* pillow_heif==0.18.0 \
gevent==24.2.* captcha==0.6.* django_simple_captcha==0.6.* djangosaml2==1.9.* \
pysaml2==7.2.* pycryptodome==3.16.* cffi==1.15.1 python-ldap==3.2.0

Upgrade to 13.0 (for binary installation)

The following instruction is for binary package based installation. If you use Docker based installation, please see Updgrade Docker

1) Clean database tables before upgrade

If you have a large number of Activity in MySQL, clear this table first Clean Database. Otherwise, the database upgrade will take a long time.

2) Install new system libraries and Python libraries

Install new system libraries and Python libraries for your operation system as documented above.

3) Stop Seafile-11.0.x server

In the folder of Seafile 11.0.x, run the commands:

./seahub.sh stop
./seafile.sh stop

4) Run Seafile 12.0.x upgrade script

In the folder of Seafile 12.0.x, run the upgrade script

upgrade/upgrade_11.0_12.0.sh

5) Create the .env file in conf/ directory

conf/.env

TIME_ZONE=UTC
JWT_PRIVATE_KEY=xxx
SEAFILE_SERVER_PROTOCOL=https
SEAFILE_SERVER_HOSTNAME=seafile.example.com
SEAFILE_MYSQL_DB_HOST=db # your MySQL host
SEAFILE_MYSQL_DB_PORT=3306
SEAFILE_MYSQL_DB_USER=seafile
SEAFILE_MYSQL_DB_PASSWORD=<your MySQL password>
SEAFILE_MYSQL_DB_CCNET_DB_NAME=ccnet_db
SEAFILE_MYSQL_DB_SEAFILE_DB_NAME=seafile_db
SEAFILE_MYSQL_DB_SEAHUB_DB_NAME=seahub_db

Tip

JWT_PRIVATE_KEY, A random string with a length of no less than 32 characters, can be generated by

pwgen -s 40 1

6) Start Seafile-12.0.x server

In the folder of Seafile 12.0.x, run the command:

./seafile.sh start # starts seaf-server
./seahub.sh start  # starts seahub

7) (Optional) Upgrade notification server

8) (Optional) Upgrade SeaDoc from 1.0 to 2.0

FAQ

We have documented common issues encountered by users when upgrading to version 12.0 in our FAQ https://cloud.seatable.io/dtable/external-links/7b976c85f504491cbe8e/?tid=0000&vid=0000.

If you encounter any issue, please give it a check.