mirror of
https://github.com/haiwen/seafile-admin-docs.git
synced 2025-12-25 18:22:48 +00:00
seafile binary upgrade 12 to 13
This commit is contained in:
parent
bfce801e1a
commit
295a2a22b7
|
|
@ -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.
|
||||
|
|
|
|||
Loading…
Reference in New Issue