seafile-server

Does seafile store synced files anywhere?


I'm using Seafile (on docker) to sync some files to a Synology nas and it is all working correctly. I've created an external folder that is pointed to /shared folder in the container.

I think I already know the answer, but are the files synced to the server stored 'normally' somewhere? i.e. If I sync a folder called 'photos' and it has 'a.jpg' in it, will I be able to find that file on the seafile server?

The reason for the question is I would like to backup the original files that are sync'd, rather than having to backup the seafile DB, etc.

(I am aware that syncthing does what I want, so I may choose to use that instead, just want to confirm my understanding)

Thanks


Solution

  • TLDR;

    No you won't find your a.jpg file on the server. Your files are going to be turned into blocks of bytes.

    To understand

    If you take a look at this part of the documentation of data model

    FS

    There are two types of FS objects, SeafDir Object and Seafile Object. SeafDir Object represents a directory, and Seafile Object represents a file.

    Block

    A file is further divided into blocks with variable lengths. We use Content Defined Chunking algorithm to divide file into blocks. A clear overview of this algorithm can be found at http://pdos.csail.mit.edu/papers/lbfs:sosp01/lbfs.pdf. On average, a block's size is around 1MB.

    So backing up files will won't be as easy as making a raw copy of the seafile drive. As mentioned by @JensV you may still achieve something along those lines using the seafile drive client.