mirror of
https://github.com/haiwen/seafile-admin-docs.git
synced 2025-12-26 02:32:50 +00:00
Merge pull request #629 from haiwen/seafile_binary_upgrade_12_to_13
Some checks are pending
Deploy CI - 13.0 / deploy (push) Waiting to run
Some checks are pending
Deploy CI - 13.0 / deploy (push) Waiting to run
seafile binary upgrade 12 to 13
This commit is contained in:
commit
386aee59d2
|
|
@ -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
|
Elasticsearch version is not changed in Seafile version 13.0
|
||||||
|
|
||||||
## New system libraries (TO be updated)
|
## New system libraries
|
||||||
|
|
||||||
=== "Ubuntu 24.04/22.04"
|
=== "Ubuntu 24.04/22.04"
|
||||||
|
|
||||||
```sh
|
```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
|
```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.
|
Note, you should install Python libraries system wide using root user or sudo mode.
|
||||||
|
|
||||||
=== "Ubuntu 24.04 / Debian 12"
|
=== "Ubuntu 24.04 / Debian 12"
|
||||||
|
|
||||||
```sh
|
```sh
|
||||||
sudo pip3 install future==1.0.* mysqlclient==2.2.* pillow==10.4.* sqlalchemy==2.0.* pillow_heif==0.18.0 \
|
pip3 install --timeout=3600 boto3 oss2 twilio configparser pytz \
|
||||||
gevent==24.2.* captcha==0.6.* django_simple_captcha==0.6.* djangosaml2==1.9.* \
|
sqlalchemy==2.0.* pymysql==1.1.* jinja2 django-pylibmc pylibmc redis django-redis psd-tools lxml \
|
||||||
pysaml2==7.3.* pycryptodome==3.20.* cffi==1.17.0 python-ldap==3.4.*
|
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)
|
## 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)
|
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.
|
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
|
```sh
|
||||||
./seahub.sh stop
|
|
||||||
./seafile.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
|
```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
|
conf/.env
|
||||||
|
|
||||||
```env
|
```env
|
||||||
TIME_ZONE=UTC
|
IS_PRO_VERSION=true
|
||||||
JWT_PRIVATE_KEY=xxx
|
JWT_PRIVATE_KEY=<Your jwt private key>
|
||||||
SEAFILE_SERVER_PROTOCOL=https
|
SEAFILE_SERVER_PROTOCOL=https
|
||||||
SEAFILE_SERVER_HOSTNAME=seafile.example.com
|
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_PORT=3306
|
||||||
SEAFILE_MYSQL_DB_USER=seafile
|
SEAFILE_MYSQL_DB_USER=seafile
|
||||||
SEAFILE_MYSQL_DB_PASSWORD=<your MySQL password>
|
SEAFILE_MYSQL_DB_PASSWORD=<your MySQL password>
|
||||||
SEAFILE_MYSQL_DB_CCNET_DB_NAME=ccnet_db
|
SEAFILE_MYSQL_DB_CCNET_DB_NAME=ccnet_db
|
||||||
SEAFILE_MYSQL_DB_SEAFILE_DB_NAME=seafile_db
|
SEAFILE_MYSQL_DB_SEAFILE_DB_NAME=seafile_db
|
||||||
SEAFILE_MYSQL_DB_SEAHUB_DB_NAME=seahub_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
|
!!! tip
|
||||||
JWT_PRIVATE_KEY, A random string with a length of no less than 32 characters, can be generated by
|
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
|
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
|
./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
|
### 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
|
### 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
|
## 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.
|
If you encounter any issue, please give it a check.
|
||||||
|
|
|
||||||
Loading…
Reference in New Issue