Programster's Blog

Tutorials focusing on Linux, programming, and open-source

Seafile And Symlinks

Seafile does not currently handle symlinks as I had expected. Instead of treating a symlink like a single file, it will treat it as a folder and sync all the content within it. On the one hand, this means the content will be available on Seafile even if the endpoint is not within a Library, but can result in huge amounts of server storage wastage through duplication, and infinite loops.

Workaround

Luckily, it looks like this is an open issue that is going to be addressed, but for now one user has posted a useful workaround.

Seafile has support for ignoring files that match a pattern specified in a specific file location, similar to how a .gitignore file works in git. Simply create a file called seafile-ignore.txt at the top of your libraries. In this file, specify a pattern that will only match your symlinks. Since Nautilus will create links with the name "Link to ..." I simply added one line to my seafile-ignore file like so:

Link to *

Now my symlinks will no longer be synced to seafile, but I have to keep the "Link to ..." naming scheme.

Last updated: 2nd September 2018
First published: 16th August 2018

This blog is created by Stuart Page

I'm a freelance web developer and technology consultant based in Surrey, UK, with over 10 years experience in web development, DevOps, Linux Administration, and IT solutions.

Need support with your infrastructure or web services?

Get in touch