I’m sorry… If I am producing another one rant recently but because I spend many years with the Seafile CE I think I should at least leave some constructive feedback related to current changes, upgrades and issues that many of us struggling recently.
I will refer to a version 10 and problematic upgrade to version 11. But there is more…
The good things:
1/ Seafile is great for a things it is designed for. Maybe not ideal but quite effective. Is blazing fast in compare to a Nextcloud solution and uses a lot less resources. It also doesn’t have any crap ware included inside - it just synchronizes files well. The git-commit approach seems to be excellent choice and the possibility to get back in time to the whole directory structure is something that nobody have currently as I believe.
2/ Libraries as a containers are excellent approach to split large datasets without the worry of that the something will not be synced properly or we end up with the no disk space even using the selective sync in other solutions. Also the sharing the libraries works just perfect.
3/ Almost portable and effortless installation (only up to 10x). With SQLite I was having few users with thousands of files working pretty well. Each upgrade was easy super easy to perform and I never had to restore the solution from the backup. The portability of this solution meant for me a lot, I could just shutdown the server - rsync it somewhere and run it from there (or have a easy backup there - including the db and data without any hassle). The only problem was a huge amount of super small files to be copied but you know, nobody is perfect.
4/ 2FA - this is what is really needed, nothing to add more.
5/ Probably there are more things that are very good and I may not even notice that.
The bad things:
1/ Linux distro support seems to be problematic, I had to virtualize older Ubuntu (20x) just to run the Seafile, I would expect more portability actually or some self contained solution to be easily deployable. Anyway the Apache configuration is straightforward and easy + ofc the certificate configuration with Lets encrypt also is not a problem, but the Python thing sometimes could be problematic. I actually don’t care if I have to use a particular linux distro, but I care if the support is at the desired level. I think that would be better if you say that you support eg. only Ubuntu or Debian or whatever but the manual and everything related to it like the installation, backup etc. works as intended.
2/ Poor release plan. I think I don’t have to write about 11x migration issues. Last second requirements for a new version, unclear requirements (one time it has being said that the SQLite is still supported, other that not etc.), dropped support for current stable version, etc. and ridicules upgrade issues. In professional software we often see that the upgrade software is evaluating condition of current OS + current version than it decides what and how to do. Those things needs to be addressed in the future. At the end I ended up with old (10x) server with no upgrade path due to db migration issues and who knows what more. It is also super strange that my db seems to be so off from the desired schema, that I think that something went super wrong at some point. I don’t really care about the SQLite if this is so problematic, but please at least write good manual about that how to properly backup and restore the whole thing including dumping the database and copying the data dirs. Eg. Nextcloud (I’m referring to AIO deployment) has it’s backup solution but in my point of view it is also not ideal. It would be great to have the possibility to do it both ways maybe.
2/ Issues syncing libraries with over 150_000 small files. Idk if that was the issue with the Windows client or with the server running with that SQLite db backend, but I had to restart syncing few times when I set the new client each time. A bit of a pain but anyway, syncing my whole stuff took only 3-4 hours in compare to Nextcloud taking freaking whole day to do the same thing on the same hardware. So this is good and bad… Recently I’m testing such operations against blake3 checksums so I know exactly if my libraries are synced correctly or not and Seafile is always correct as supposed to despite those hiccups.
3/ Client app needs polishing, also it should not annoy constantly with the syncing issues. What I like about the Nextcloud it changes the icon back to green when my file locks are released and files synced completely. Seafile says that there are still issues even if those are resolved. Something to think of.
4/ Huge amount of super small files related to the tracking of changes - well it is not good thing, but I guess it can’t be better.
5/ Unclear approach to security - after the privacytools.io removed the Seafile from their list of recommended solutions it may be confusing and rises many questions about the Seafiles security level. Just my opinion.
Seafile has a huge advantage if talking about performance (I’m not sure about performance with higher amount of users or files, but for what I have seen it is few times faster then the Nextcloud and the snapshot feature for library with configurable history and sharing is just at least better - no other solution can compete with it). I think I will come back here again soon. For me, the robustness and the speed were always the reasons that I sat here with Seafile for such a long time and I’m looking forward to get back (probably with a new fresh instance due to so many issues accumulated over time during the upgrades that the upgrade to v11 can’t be assumed as safe and robust from my point of view).
And at the end: thank you for your great job.