Upgrade from 5.1.4 to 10.0.1

I’d like to move a running 5.1.4 install to a new machine. Rsynced everything over and untarred the new version 10. Now wanting to run the upgrade scripts: upgrade_5.1_6.0.sh, upgrade_6.0_6.1.sh, … in order.

Problem, the new system has no python2. Can I just replace the PYTHON in the upgrade script? After all, the module it calls is python3 already? What about the seafile-server-latest link, where should it point at?

Looking forward to learn how to proceed!

Adding path to the python executable to the environment did the trick:

PYTHON=/usr/bin/python3 ./upgrade_5.1_6.0.sh

All upgrade scripts ran without errors. Now on to the details.

2 Likes

Further steps, using the sqlite database, not using memcached, on this debian 12 system, two packages satisfy all that seafile requires to operate (properly, from first looks):

apt-get install python3-django python3-django-captcha

As seafile runs as normal user, but download/install/preparations done as root:

chown seafile:seafile /opt/seafile
chown seafile:seafile /opt/seafile/seafile-server-latest/runtime

Important to chown /opt/seafile to prevent this error when managing seahub.db: django.db.utils.OperationalError: attempt to write a readonly database

The database to change base_filecomment for sqlite3 is seahub.db.

2 Likes

May I know on which file you added this parameter:?

PYTHON=/usr/bin/python3 ./upgrade_5.1_6.0.sh

Thanks

There is no need to modify any file at all: Just prepend PYTHON=/usr/bin/python3 before the call to the various upgrade scripts. They then will use the python executable that you specify. The line you quoted works when the shell working directory is the same as where the upgrade scripts live.