Where are my documents stored? And how can I determine where the files of a library are stored.
My use case:
I use a headless Raspberry for seafile and other servers. One use case is to syncronice my photos to a special directory. The directory used by my photo server .
Or is seafile the wrong application for this?
Thanks
Seafile doesn’t store files as you might expect. Seafile breaks files up into blocks so it can deduplicate the data (store only a single instance of any block, no matter how many files it might be part of). This is a big part of a lot of the features of seafile (efficient network transfers by sending only new blocks, keep old versions by just keeping the old list of what blocks made up the old version of the file, etc.).
So the files aren’t easily available on the server for other programs to mess with. You can mount the library on the server like a filesystem, but that’s read-only and while useful for troubleshooting, it isn’t something you want to do regularly.
But there’s still some choices. You could use the GUI-less agent to sync that library to a directory on the photos server. This will store a second copy of the files, but I expect you were planning to do that anyway, so you could have seafile and the photo server be in separate VMs or containers.
If that doesn’t work for you, you might want a less server-focused file sync program, like syncthing instead of (or maybe in addition to) seafile.
1 Like
Many thanks @tomservo for your detailed answer. I now understand the structure and working of seafile a litle bit more :).
The photo sever will not change the original photos, so solution one will perhaps work, but as I understand right, it is not the recommended way.
To copy with GUI-less agent seems a good way. I didn’t found before. But now grabbing deeper, I think it is in documentation at: ./syncing_client/linux-cli/). And yes I use two different containers. I will give it a try. My photo lib uses only around 40GB. I would like to take this opportunity to praise the comprehensible documentation with explanatory examples. (very valuable for me)
Syncthing I found, but if possible I would prefer to use only one of both.
One additional question about the seafile structure. Informing about seafile, I asked chatGPT about multiple storage (I didn’t understand right) and to store files via seafile and WebDAV in my external cloud.The answer was:
It is possible. I have to mount the webDAV storage and than can define this location in seafile.conf with:
[storage]
fs_path = /mnt/webdav/seafile-data
But now it seem to me this is a Hallunisation of ChatGPT!? Because if this will work I can do the same with my photo directory. Or it is meant to store seafile data (blocks) at this different location. But than I need the possibility link it with a special library.
From what you said, it sounds like the linux CLI client should work for you. I do the same for a similar use and it has worked just fine for years. In my case that is syncing some files to an SSH server so that a machine that can’t run the seafile agent can access these files via sftp.
For the webdav stuff, it seems like ChatGPT confused a few things together. There’s the fact that seafile can share a library out with webdav, which worked when I tried it, but had the problems that are inherent with webdav. In my case, that problem was that I had to remember to shutdown that client before I did anything to the seafile server, and then start it when the server was back. If I forgot the program I was using would go crazy with the empty directory (because the webdav mounting failed) and would delete everything from its index, then when everything came back it had to index it all again. The agent option worked better since the program had a local copy of all the files, so if the seafile server was down for a few hours, that program didn’t even notice anything had happened.
The other thing I think ChatGPT is mixing into its answer is the seafile pro feature to have different storage back ends. This lets you store the blocks for libraries in different storage systems (maybe one on the disk as files, and another in an amazon S3 bucket and another in a ceph object storage pool). I have never used this feature, and it doesn’t sound like your system is big enough that you will either, but I think that’s how ChatGPT got confused.
1 Like
My system is indeed small. I use a Raspi and only for the family or better: mainly for myself.
I will now check the practicality of all this in my case.
Thanks again :).
1 Like