I currently am using mailcow and nextcloud together which works fine, but I was curious to see what people here think of nextcloud as a pairing with stalwart, and also what experiences people might have had using the community container that adds Stalwart to a nextcloud-aio server. It’s community contributed so not officially supported by nextcloud.
At first blush, I am attracted. Mailcow is great but it also includes SOGo which is not bad at all but brings a new interface and paradigm. Nextcloud is a fairly self contained platform with features that are tightly integrated with each other, so I am not sure SOGo is needed. Meanwhile, being able to simply add a container to the nextcloud install is also appealing.
When I get a chance I will give this a spin, and will be happy to share my experiences here. But in the meantime if anyone has any insights/thoughts I’d be happy to hear them.
I’m excited to discover Stalwart and this Discourse community! Until recently I worked at Discourse as product manager so of course I am a big fan, and happy to see some features I worked on recently on display here.
My decision: I di not use the community container, especially Stalwart.
I will bring up a standalone Stalwart server and connect to it as mail server.
My reason: the community contains older Stalwart release and at this moment upgrading Stalwart could be tricky sometimes, so, that container could give me a false feeling that, I am safe to use it. With all my respect, I do not think using that container is easy and solves problems.
Anyway, that is an interesting question, how to use calendar/contacts in an NC-stalwart ecosystem, due to that, Stalwart actively use its contacts and calendars as a resource for spam fighting, so, better to keep a copy on Stalwart, but NC also works with its contacts/calendars, so, things get interesting in this part.
I hope it helps to decide, but check that container and Stalwart documentation to see, is it good for you or not.
I think your approach is the correct one. Better to keep these things on separate servers for ease of maintenance. Also I suspect that in most cases the nextcloud server will want to have beefier specs than stalwart needs.
As regards dealing with multiple calendars.. I have grappled with this myself already, using mailcow. The decision I came to is to prioritize the mailcow calendar and contacts alongside email, because they are all integrated on my apple devices. Then I subscribed to the mailcow calendar also in nextcloud so I can use the free/busy information for letting people schedule meetings with me. This works well enough.
That said, I learned nextcloud and mailcow (and presumably also stalwart) both want to be the single source of truth, and nextcloud is aggressively being developed to be a standalone platform with many tightly integrated functions. As soon as you stop relying on one or more of them you start to lose the benefits of using nextcloud as a workspace solution.
Many deployments use NextCloud only for files. If you use the NextCloud mail webapp, you need a mail server like Stalwart. Unfortunately, it is true that the NextCloud webapps for mail, calendar and contacts are not intended to work with other calendar and addressbook servers. That is not something that Stalwart can fix.
Stalwart makes good use of its contacts feature, by whitelisting your contacts from spam filtering, and similar features. Also, importantly, Stalwart JMAP offers mail, contacts, calendar all in the same JMAP account, so it’s most natural to keep the addressbook and calendar there.
One solution would be to make a 2-way sync between the Stalwart CalDAV server and the NextCloud CalDAV server. That could be done either in NextCloud server, Stalwart server, or in a separate component. For example, there’s vdirsyncer, which seems to do exactly what you want. This is something you can do right now. I haven’t tried it myself, though. Also, the sync would likely be based on polling, and conflicts might be difficult.
Lastly, you can use a client (e.g. Parula) to bring all these services together, and configure mail, calendar and contacts from Stalwart, whereas files are hosted by NextCloud via WebDAV. (Disclaimer: Parula is my product and not a product of Stalwart.)
Thanks Ben! Parula looks interesting and I will take a look. Your website also presents the product in a way that intrigues me, that is both in line with open source and (hopefully) helps with sustainability of the product. Nice! Hope it’s working for you.
vdirsyncer also looks promising - I see some people at help.nextcloud.org have also been recommending it. I’ve made a note on my Discourse to have it at hand in case I need it in future.
Personally, because I am always looking for ways to empower people with open source in ways that are easy to maintain, I will avoid this sort of thing until somebody I know really needs it! For now, having two sets of calendars and contacts is fine. They can be managed via the desktop/mobile apps and if free/busy info is needed in nextcloud it’s possible to subscribe to the stalwart calendar.
They only very recently (at my pestering) enabled support for emails encrypted at rest, which is a huge improvement. Still don’t love the mail client there, but it’s the best mail client so far that also handles S/MIME encryption.