Migrating to Docker installation on a completely new server

I want to migrate the data of a binary installation from an old server to a new server with Docker. Both installations use the default paths.

Looking at the manual’s selection the process should be like this:

  • Install the Docker Seafile on the new machine and start it once so that it creates all its folders
  • Stop the Seafile on the old machine and backup the databases
  • Transfer the backup files to the new machine and restore them into the database container

Adn now for the interesting question. Which directories of the installation on the old machine actually need to be rsynced to the new machine? Is just syncing seafile-data sufficient? Or is there more?

And afterwards you can easily set the hostname in the .env to the name of the old machine, right?

To migrate to Docker on a new server, you generally need to move the Seafile data directory and the database backup/restore, not just the data folder alone. For a binary installation, copy the data that contains your libraries/files and any configuration that must be preserved for the new deployment, then restore the databases into the Docker containers. After that, set the new server hostname in the Docker .env file to match the old server name if you want existing clients/URLs to continue working.

Here is a detailed document: Migrate from non-docker deployment - Seafile Admin Manual

Does that apply for same version migration (E.g. Binary 12.x to Docker 12.x) or also to version upgrade migration (e.g. Binary 12.x to Docker 13.x)?

The migration guide is for moving from a non-Docker deployment to Docker, regardless of whether the target Docker version is the same as the source or a newer one. If you are moving from Binary 12.x to Docker 13.x, you should still follow the migration steps first, and then apply the Seafile 13.0 Docker upgrade instructions because major-version upgrade steps are separate from the migration procedure.