NextCloud is a shame, they should be ashamed of calling themselves an alternative to Office365 / Teams / OneDrive. They’re pretty much like Tesla, if they didn’t spend most of their time over-promising + under-delivering people would be surprised with the progress they’ve done instead of going for scrutiny.
Here is the thing, I would love to have NC working decently but I've test almost all of their releases on the past year and the issues are always the same. Here is my main complaints:
- Syncthing sync is robust, it doesn't fail and handles tons of files with little resources, NC uses a lot more RAM and once you get to around 1 TB of small files it will stop working randomly;
- NC Webmail UI is poorly designed: compose window is just a small box on the center of the screen, there's no way to have the markup tools permanently show up;
- NC Webmail UI is broken: if you select a bunch of text and turn it into a bullet list, the bullets won't even show up on NC, other e-mail clients will see them tho;
- Integration/SSO with IMAP is cumbersome: not well documented, default configuration doesn't even handle a simple "login with the email email and password as the IMAP account" type of setup that is commonly expected;
- WebUI is slow and fails often: if you open the browser console you'll find lots of warnings and errors.
I do have a lot of complaints related to mail but if NC is any kind of useful replacement for MS365 / Google Workplace a decently working webmail is the bare minimum. RoundCube is WAY better than what NC is currently offering.
I spent weeks researching and trying to tweak things and at the end of the day NC always performs poorly. Most of the issues seem to be related to the poorly implemented WebUI but the desktop app also has issues with large folders. Also tried the docker version, the "all in one" similar results it simply doesn't cut it.
With that said, for around 30 users I'm not way better with this setup:
- Dovecot+Postfix working as mail server / "identity provider" for my users;
- Syncthing to sync desktop machines with the server (not across each other);
- FileBrowser for web access;
- WebDAV access for iOS/Android clients;
- Baikal as CardDAV/CalDAV server;
- RoundCube for a decent webmail experience with a lot of Kolab plugins (Contacts, Calendars, Tasks from CardDAV/CalDAV);
Both FileBrowser and Baikal were modified to authenticate against the IMAP server and create accounts automatically if the username/password check out. I'm deploying this to the user's machines via Ansible and/or iOS/macOS profiles so most things are automated by now. To onboard a new user I simply have to create the email account and then run the playbooks.
My future investments will be:
- ejabberd with the IMAP integration and setup plugins for audio/video chat, push notifications, presence indication;
- Integrate converse.js or Jitsi (jabber web client) into the RoundCube webmail (simply add a tab with an iframe + pass the webmail auth);
- Explore a better multi-user Syncthing setup - possible create a small app that uses the Syncthing tech but does authentication against IMAP as well. Custom backend to automatically manage the creation of user folders and managed shares;
- Microsoft Exchange / ActiveSync: while it might be possible most of my users are either on macOS or they don't care about Outlook / use Thunderbird or the Webmail.
Although this setup still misses some important stuff (aka replace Zoom) and I've been working on it for a while it outperforms NC in all ways so far. The investment was totally worth it.
I really hoped that NC would do all those things properly and I still try new releases but it doesn't seem to get any better.