Skip to content

Migrate from Seafile Community Server

Restriction

It's quite likely you have deployed the Seafile Community Server and want to switch to the Professional Server, or vice versa. But there are some restrictions:

  • You can only switch between Community Server and Professional Server of the same minor version.

That means, if you are using Community Server version 9.0, and want to switch to the Professional Server 10.0, you must first upgrade to Community Server version 10.0, and then follow the guides below to switch to the Professional Server 10.0. (The last tiny version number in 10.0.x is not important.)

Preparation

Install poppler-utils

The package poppler-utils is required for full text search of pdf files.

On Ubuntu/Debian:

sudo apt-get install poppler-utils

Do the migration

We assume you already have deployed Seafile Community Server 10.0.0 under /opt/seafile/seafile-server-10.0.0.

Get the license

If the license you received is not named as seafile-license.txt, rename it to seafile-license.txt. Then put the license file under the top level diretory. In our example, it is /opt/seafile/.

Download & uncompress Seafile Professional Server

You should uncompress the tarball to the top level directory of your installation, in our example it is /opt/seafile.

tar xf seafile-pro-server_10.0.0_x86-64_Ubuntu.tar.gz

Now you have:

seafile
├── seafile-license.txt
├── seafile-pro-server-10.0.0/
├── seafile-server-10.0.0/
├── ccnet/
├── seafile-data/
├── seahub-data/
└── conf/
└── logs/

You should notice the difference between the names of the Community Server and Professional Server. Take the 10.0.0 64bit version as an example:

  • Seafile Community Server tarball is seafile-server_10.0.0_x86-64_Ubuntu.tar.gz; After uncompressing, the folder is seafile-server-10.0.0
  • Seafile Professional Server tarball is seafile-pro-server_10.0.0_x86-64_Ubuntu.tar.gz; After uncompressing, the folder is seafile-pro-server-10.0.0

Do the migration

  • Stop Seafile Community Server if it's running
cd seafile/seafile-server-10.0.0
./seafile.sh stop
./seahub.sh stop
  • Run the migration script
cd seafile/seafile-pro-server-10.0.0/
./pro/pro.py setup --migrate

The migration script is going to do the following for you:

  • ensure your have all the prerequisites met
  • create necessary extra configurations
  • update the avatar directory
  • create extra database tables

Now you have:

seafile
├── seafile-license.txt
├── seafile-pro-server-10.0.0/
├── seafile-server-10.0.0/
├── ccnet/
├── seafile-data/
├── seahub-data/
├── seahub.db
├── seahub_settings.py
└── pro-data/

Add Memory Cache Configuration

Using memory cache is mandatory in Pro Edition. You may use Memcached or Reids as cache server.

Use Memcached

Use the following commands to install memcached and corresponding libraies on your system:

# on Debian/Ubuntu 18.04+
apt-get install memcached libmemcached-dev -y
pip3 install --timeout=3600 pylibmc django-pylibmc

systemctl enable --now memcached

Add the following configuration to seahub_settings.py.

CACHES = {
    'default': {
        'BACKEND': 'django_pylibmc.memcached.PyLibMCCache',
        'LOCATION': '127.0.0.1:11211',
    },
}

Use Redis

Redis is supported since version 11.0.

First, Install Redis with package installers in your OS.

Then refer to Django's documentation about using Redis cache to add Redis configurations to seahub_settings.py.

Start Seafile Professional Server

cd seafile/seafile-pro-server-10.0.0
./seafile.sh start
./seahub.sh start

Switch Back to Community Server

Stop Seafile Professional Server if it's running

cd seafile/seafile-pro-server-10.0.0/
./seafile.sh stop
./seahub.sh stop

Run the minor-upgrade script to fix symbolic links

cd seafile/seafile-server-10.0.0/
./upgrade/minor-upgrade.sh

Start Seafile Community Server

cd haiwen/seafile-server-10.0.0/
./seafile.sh start
./seahub.sh start