seafile binary upgrade 12 to 13

This commit is contained in:
Jizhou Deng 2025-12-02 15:47:09 +08:00
parent bfce801e1a
commit 295a2a22b7

View File

@ -37,41 +37,33 @@ Deploying Seafile with binary package is no longer supported for community editi
Elasticsearch version is not changed in Seafile version 13.0
## New system libraries (TO be updated)
## New system libraries
=== "Ubuntu 24.04/22.04"
```sh
apt-get install -y default-libmysqlclient-dev build-essential pkg-config libmemcached-dev
apt-get install -y python3 python3-dev python3-setuptools python3-pip python3-ldap python3-rados libmysqlclient-dev memcached libmemcached-dev redis-server libhiredis-dev ldap-utils libldap2-dev python3.12-venv default-libmysqlclient-dev build-essential pkg-config
```
=== "Debian 11"
=== "Debian 12/13"
```sh
apt-get install -y libsasl2-dev
apt-get install -y python3 python3-dev python3-setuptools python3-pip python3-ldap python3-rados libmariadb-dev-compat memcached libmemcached-dev redis-server libhiredis-dev ldap-utils libldap2-dev libsasl2-dev pkg-config python3.13-venv
```
## New Python libraries (TO be updated)
## New Python libraries
Note, you should install Python libraries system wide using root user or sudo mode.
=== "Ubuntu 24.04 / Debian 12"
```sh
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.*
pip3 install --timeout=3600 boto3 oss2 twilio configparser pytz \
sqlalchemy==2.0.* pymysql==1.1.* jinja2 django-pylibmc pylibmc redis django-redis psd-tools lxml \
django==5.2.* cffi==1.17.1 future==1.0.* mysqlclient==2.2.* captcha==0.7.* django_simple_captcha==0.6.* \
pyjwt==2.10.* djangosaml2==1.11.* pysaml2==7.5.* pycryptodome==3.23.* python-ldap==3.4.* pillow==11.3.* pillow-heif==1.0.*
```
=== "Ubuntu 22.04 / Debian 11"
```sh
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*](./upgrade_docker.md)
@ -85,41 +77,79 @@ If you have a large number of `Activity` in MySQL, clear this table first [Clean
Install new system libraries and Python libraries for your operation system as documented above.
### 3) Stop Seafile-11.0.x server
### 3) Stop Seafile-12.0.x server
In the folder of Seafile 11.0.x, run the commands:
In the folder of Seafile 12.0.x, run the commands:
```sh
./seahub.sh stop
./seafile.sh stop
```
### 4) Run Seafile 12.0.x upgrade script
### 4) Run Seafile 13.0.x upgrade script
In the folder of Seafile 12.0.x, run the upgrade script
In the folder of Seafile 13.0.x, run the upgrade script
```sh
upgrade/upgrade_11.0_12.0.sh
upgrade/upgrade_12.0_13.0.sh
```
### 5) Create the `.env` file in `conf/` directory
### 5) Modify the `.env` file in `conf/` directory
conf/.env
```env
TIME_ZONE=UTC
JWT_PRIVATE_KEY=xxx
IS_PRO_VERSION=true
JWT_PRIVATE_KEY=<Your jwt private key>
SEAFILE_SERVER_PROTOCOL=https
SEAFILE_SERVER_HOSTNAME=seafile.example.com
SEAFILE_MYSQL_DB_HOST=db # your MySQL host
SEAFILE_MYSQL_DB_HOST=<your database 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
## Cache
CACHE_PROVIDER=redis # options: redis (recommend), memcached
### Redis
REDIS_HOST=redis
REDIS_PORT=6379
REDIS_PASSWORD=
### Memcached
MEMCACHED_HOST=memcached
MEMCACHED_PORT=11211
```
!!! tip
Redis is recommended as the cache server, you need to install the following dependencies.
```sh
apt-get install -y redis-server libhiredis-dev
# activate the venv
source python-venv/bin/activate
pip3 install redis django-redis
systemctl enable --now redis-server
```
If you are using memcached as the cache server, you need to install the following dependencies.
```sh
apt-get install memcached libmemcached-dev -y
# activate the venv
source python-venv/bin/activate
pip3 install pylibmc django-pylibmc
systemctl enable --now memcached
```
!!! tip
JWT_PRIVATE_KEY, A random string with a length of no less than 32 characters, can be generated by
@ -127,9 +157,9 @@ SEAFILE_MYSQL_DB_SEAHUB_DB_NAME=seahub_db
pwgen -s 40 1
```
### 6) Start Seafile-12.0.x server
### 6) Start Seafile-13.0.x server
In the folder of Seafile 12.0.x, run the command:
In the folder of Seafile 13.0.x, run the command:
```
./seafile.sh start # starts seaf-server
@ -138,15 +168,23 @@ In the folder of Seafile 12.0.x, run the command:
### 7) (Optional) Upgrade notification server
Since seafile 12.0, we use docker to deploy the notification server. Please follow the document of [notification server](../extension/notification-server.md) to re-deploy notification server.
!!! note Notification server and Seafile binary package
Notification server is designed to be work with Docker based deployment. To make it work with **Seafile binary package** on the same server, you will need to add Nginx rules for notification server properly.
### 8) (Optional) Upgrade SeaDoc from 1.0 to 2.0
Since seafile 12.0, we use docker to deploy the seadoc server. Please see the document [Setup SeaDoc](../extension/setup_seadoc.md) to install SeaDoc on a separate machine and integrate with your binary packaged based Seafile server v13.0.
!!! note "SeaDoc and Seafile binary package"
Deploying SeaDoc and **Seafile binary package** on the same server is no longer officially supported. You will need to add Nginx rules for SeaDoc server properly.
## 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>.
We have documented common issues encountered by users when upgrading to version 13.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.