Can SeaDrive do this?

My application is not a cloud application. I want authorized people to upload and download files to and from my computer. Files are not for sharing; users are not free to sync to other users. Each user will have his own directories that are synced to directories on my own machine. When a new file appears on my machine, I want my program in the back-end (compiled C++) to be alerted to it’s arrival and may move the file away. Also I want my program to be allowed to place files in synced directories. My machine is Linux and the remote user machines can be Linux or Windows.

There’s a lot to unpack in your request for a design of back-end and front-end services using Seafile.

First, why are you asking specifically about SeaDrive? Have you also looked at the Command Line Client? It might be useful.

Are you thinking that your machine will have access to a number of Libraries (folders) that are shared with different users so that you can provide files to users that they will access via their own accounts?

Hello Mercury,

Thanks for the prompt reply. At the moment I am only interested in letting people sync Libreries in isolation from other users; that is why I am considering SeaDrive.

Your last paragraph is correct. Users will sync files in various folders and my server will process those files and put the result in other synced folders. Users must not share those Libraries except with my server.

My server is a Linux server while users are on Windows and Linux.

Is the Command Line Client intended for my server or can it go in users remote machines?

I will check out the Command Line Client.

Your interest is much appreciated.

As far as I know any of the Seafile clients can do what you’re asking. The Desktop Syncing client will update the client’s Library immediately as files appear (from you presumably); SeaDrive will update the Library listing (directory) and download and cache files as needed at the client side; and don’t forget the web interface which is, more or less, immediate too but might require that the client download a file depending on its format in order to work on it. A fourth option is WebDAV which I think the Windows clients could connect to using the Windows File Explorer.

I’m thinking that you, as the administrator, can create Libraries for each client and share them to their respective users as the accounts are created. This way you retain ownership of the folder(s) and the users see a shared folder (or two) upon login. I believe you can share a Library to an individual (“Shared with me” folder) and/or a group (“Shared with groups” folder).

I mention the Command Line Client in case it’s advantageous for your server-side (back-end) scripting.

One other thing: You might want to take a look at the template option for custom setup of new user libraries:

// Enable user select a template when he/she creates library.
// When user select a template, Seafile will create folders related to the pattern automatically.
// Since version 6.0
LIBRARY_TEMPLATES = {
   'Technology': ['/Develop/Python', '/Test'],
   'Finance': ['/Current assets', '/Fixed assets/Computer']
}

I hope this helps.

I want to tell you “yes you have helped and I am grateful” before I take some time to absorb your input.

Please do not let Seafile become another Owncloud or Nextcloud.

I will probably come back with more question. Best regards.

Can SeaDrive work with sftp or does it have to be with webdav, or what? It is not clear to me from the documentation.

I am not aware of any direct support for the sftp protocol by Seafile.

SeaDrive Desktop Drive Client and Seafile Desktop Sync Clients work directly with Seafile Server. The two clients offer different ways to connect to the server and interact with shared libraries and files. Note that there are four Desktop Syncing Clients and three Desktop Drive Clients. The Download page shows them all.

The WebDAV option for Seafile provides another protocol that permits access to the server and its contents using third-party programs or features inherent in the operating system. For example, from the Manual:

Seafile WebDAV and FUSE extensions make it easy for Seafile to work with third party applications. For example, you can use Documents App in iOS to access files in Seafile via WebDAV interface.

See also the comments “Notes on Clients” for a brief discussion on the use of WebDAV by Mac, Windows and Linux systems.

Does that help clarify the options?

You might want to take a look at this post as it discusses the use of SFTP in Seafile.