Skip to content

Migration from Existing Seafile Setup

Gerrit Gogel edited this page Feb 16, 2024 · 2 revisions

Migrating volumes from official Docker deployment or native install

 This deployment uses [named volumes](https://docs.docker.com/storage/volumes/), which come with several advantages over bind mounts, used in the official Seafile Docker deployment. They are the recommended mechanism for persisted storage on Docker. 
 
 The default path for named volumes on Docker is `/var/lib/docker/volumes/PROJECT-NAME_VOLUME-NAME/_data`.

 To migrate storage from the official Docker deployment or native (non-Docker) deployment run:
mkdir -p /var/lib/docker/volumes/seafile_seafile-data/_data
mkdir -p /var/lib/docker/volumes/seafile_seafile-mariadb/_data
mkdir -p /var/lib/docker/volumes/seafile_seahub-custom/_data
mkdir -p /var/lib/docker/volumes/seafile_seahub-avatars/_data

cp -r /opt/seafile-data /var/lib/docker/volumes/seafile_seafile-data/_data
cp -r /opt/seafile-mysql/db /var/lib/docker/volumes/seafile_seafile-mariadb/_data
mv /var/lib/docker/volumes/seafile_seafile-data/_data/seafile/seahub-data/custom /var/lib/docker/volumes/seafile_seahub-custom/_data
mv /var/lib/docker/volumes/seafile_seafile-data/_data/seafile/seahub-data/avatars /var/lib/docker/volumes/seafile_seahub-avatars/_data

If you are migrating from a native (non-Docker) deployment, you additionally need to change the ownership of the folders:

chown -R root:root /var/lib/docker/volumes/seafile_seafile-data
chown -R root:root /var/lib/docker/volumes/seafile_seafile-mariadb
chown -R root:root /var/lib/docker/volumes/seafile_seahub-custom
chown -R root:root /var/lib/docker/volumes/seafile_seahub-avatars
Clone this wiki locally