diff --git a/manual/upgrade/upgrade_notes_for_13.0.x.md b/manual/upgrade/upgrade_notes_for_13.0.x.md index 8c39c9c2..2c785e69 100644 --- a/manual/upgrade/upgrade_notes_for_13.0.x.md +++ b/manual/upgrade/upgrade_notes_for_13.0.x.md @@ -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.* cairosvg==2.8.* ``` -=== "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 +./seahub.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= SEAFILE_SERVER_PROTOCOL=https SEAFILE_SERVER_HOSTNAME=seafile.example.com -SEAFILE_MYSQL_DB_HOST=db # your MySQL host +SEAFILE_MYSQL_DB_HOST= SEAFILE_MYSQL_DB_PORT=3306 SEAFILE_MYSQL_DB_USER=seafile SEAFILE_MYSQL_DB_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 . +We have documented common issues encountered by users when upgrading to version 13.0 in our FAQ . If you encounter any issue, please give it a check.