I have an to old installation of Seafile running. It’s time to upgrade bout Seafile (9.0.4) and Ubuntu (20.04). How shall I do it best? The server are virtual.
I would like to keep the history, users and also keep some of the generated share urls. So an in place upgrade would be good. Or can I install Ubuntu 20.04 fresh and then move the old installation (SQL + Seafile data) to it and then run all upgrade scripts up to 9.0.4?
Thanks for all advices.
Ping! Anyone have an idea?
I would jump in the Wayback Machine and make a list of which versions of Seafile were compatible with which versions of Ubuntu from then until now. I would only deal with Ubuntu LTS releases not the interim versions. So, in your case it would be 16.04, 18.04, 20.04 LTS.
Then download all the Seafile Server releases you can get your hands on from the AWS server and/or the Wayback Machine. For example,
lists seafile-server_6.0.9_x86-64.tar.gz as the oldest.
Then with your list in hand, start upgrading, one version at a time. Test your server and when you’re happy with its operation and function, make a full backup before you proceed with the next upgrade. I would use CloneZilla and capture an image along with any other backup you wish to employ.
Obviously you will applying more Seafile upgrades than Ubuntu releases but be careful you do not fall prey to impatience and jump ahead. I think you are in for a painstaking process that is fraught with peril. I have been using Seafile since version 1.4 (?) and I never lower my guard when it comes to upgrades.
Don’t forget to consult the Manual and this forum for issues surrounding an upgrade. As far as I can recall all the major gotchas are documented. Read first, then upgrade.
I think I need to plan this.
I am in a similar situation. I have inherited a VM running Ubuntu 16.10 and Seafile version 6.3.7. My goal is 20.04/9.0.4 as well. Have you chosen a path?
I have another idea to throw out that might work in your case. If the server is small and does not have many users, you might consider accessing all the libraries and data using the FUSE extension so that you can then re-sync (or upload) the contents in a new server. From the Manual:
Files in the seafile system are split to blocks, which means what are stored on your seafile server are not complete files, but blocks. This design faciliates effective data deduplication.
However, administrators sometimes want to access the files directly on the server. You can use seaf-fuse to do this.
Seaf-fuse is an implementation of the FUSE virtual filesystem. In a word, it mounts all the seafile files to a folder (which is called the ‘’‘mount point’‘’), so that you can access all the files managed by seafile server, just as you access a normal folder on your server.
Essentially you can backup all the data first and then reintroduce it into a fresh new server using the same accounts (and libraries) that exist on the old. Of course this is practically impossible with a large busy server with many encrypted libraries but it might fit in some cases, maybe even yours.