Most active commenters
  • audelair(4)

←back to thread

316 points StalwartLabs | 16 comments | | HN request time: 1.563s | source | bottom
1. lifty ◴[] No.45673554[source]
It’s such a breeze to self-host your own email server using Stalwart. It has been a new era for email self-hosters like myself since these kind of fully integrated email servers like Stalwart appeared. Another good one but not as actively maintained is Maddy.
replies(3): >>45673754 #>>45674004 #>>45674698 #
2. zenmac ◴[] No.45673754[source]
Yes, are there any decent JMAP web mail client that we can use?

I have asked sooo many times since Stalwart first was introduced, but not got a straight answer. It is just FastMail or Topicbox. I want something like roudcoube or wildduck that can be used over https that I can self-host!

replies(1): >>45674528 #
3. drdaeman ◴[] No.45674004[source]
I'm setting up Stalwart right now, migrating from my current Maddy+Postfix+Dovecot+Rspamd setup. Not exactly my experience.

The documentation is not great - I'd say it's just about barely enough to get an overall idea, but there's no one proper single definitive overview of what options exist, what are their possible values, what are the defaults, and how they relate to each other. Maddy docs, despite looking a bit sloppy, were a lot easier to get through. IMHO Stalwart makes it unnecessarily difficult to write a non-minimal static configuration file, hooking everything up correctly.

To be fair, maybe there is a page like that but I haven't found it, despite trying.

I know the Web UI allows to do the configuration by clicking through the forms, but this approach conflicts with declarative deployment practices. In my case it's giving me nondescript 500 errors in the UI with "Failed to write local configuration" in the logs because the .toml file is read-only.

replies(1): >>45674581 #
4. realityfactchex ◴[] No.45674528[source]
It looks like Cypht [0] is the most actively maintained JMAP webmail client listed at [1], assuming that works.

  [0] https://github.com/cypht-org/cypht
  [1] https://jmap.io/software.html
replies(1): >>45674590 #
5. audelair ◴[] No.45674581[source]
Not sure if yours is setup different, but there are several key fields that need to be written to the config.toml file, and I've seen my file get updated when I make changes to the listeners or stores settings.

But in general, I agree that it has not been a very smooth experience. Having messed around with maddy and mox, Stalwart has had quite a few gotchas. Despite being a single binary promising simplicity, I'm finding it to be a real challenge figuring out how it all fits together, and I'm mostly learning by trial and error since the documentation is often outdated.

My biggest gripe is that it doesn't use the config.toml for every setting, or at least doesn't seem to have the option to do so. I broke my installation and had to find the posgresql key-value pairs for the settings, which was made harder by the fact that everything was stored as binary, which also made me have to edit it as binary as well. These were very simple settings that would have been a breeze in a flat configuration file. I absolutely do not like how necessary the WebAdmin is to manage simple things.

That said, the integration with calendar/contacts is nice even without JMAP... Getting Thunderbird and Roundcube setup with plugins and proper settings made it so easy to get several users setup with calendars, contacts, and shared email-boxes and shared contacts right upon first login.

The S3 storage is also working great (Hetzner Frankfurt VPS paired with AWS eu-central-1), and AWS downtime a few days ago notwithstanding, I'm feeling good about the reliability that gives me, leaving me mainly with the PosgresQL data store the main thing to keep backed up.

This is a hugely ambitious software and as such, there will be many things that I will have a hard time getting used to as a hobbyist, but also a lot to be gained. I'm sticking around for now and waiting for version 1, improved documentation, and more clarity on how it all works.

replies(2): >>45675584 #>>45679282 #
6. audelair ◴[] No.45674590{3}[source]
I tried very hard to get it to work, but I simply couldn't get it to connect with my Stalwart instance over JMAP. I do have the permissive CORS and end-points and proxy-protocol seemingly working with my test HTTPS requests, and I also successfully got JMAP to work with the Mailtemi app, but no luck yet with Cypht[0].
replies(1): >>45674655 #
7. realityfactchex ◴[] No.45674655{4}[source]
Darn. This looks like the open issue: https://github.com/cypht-org/cypht/issues/931
replies(1): >>45675420 #
8. drnick1 ◴[] No.45674698[source]
But is there any real benefit over Postfix + Dovecot other than "it's new and written in Rust?" Postfix and Dovecot have been around for decades and respect the Unix philosophy of doing one thing and doing it well.
replies(2): >>45675226 #>>45677196 #
9. heavyset_go ◴[] No.45675226[source]
It's one tiny binary that does everything you could possibly need for hosting a mail server, including an admin UI, and you get a bunch of modern and convenient features for free.

For example, it automatically handles Let's Encrypt certs for you. You get JMAP, CalDAV, WebDAV, CardDAV, IMAP4rev2, DKIM/SPF/DMARC, MTA-STS, DANE, spam filtering, SQL+blob+object storage backends, search, clustering, OpenTelemetry, etc all in one tiny binary.

Downsides: some features are gated behind an enterprise version and I think the dev team is one guy, or at least it was a while ago.

Having ran both for a long time, I'm sticking with Stalwart from now on as long as development continues.

replies(1): >>45679063 #
10. zenmac ◴[] No.45675420{5}[source]
Yeah that is kind of issue had me flintch when thinking of using stalwart. As much as it is so nice to install it as a server and ideologies behind it. Looks like gonna just stick with wildduck for now. Just don't like to hedge our email bets on mongodb community edition.
replies(1): >>45675883 #
11. 0x073 ◴[] No.45675584{3}[source]
Is there a reason you use aws s3 vs the hetzner object storage?
replies(1): >>45675704 #
12. audelair ◴[] No.45675704{4}[source]
I heard some second-hand accounts that Hetzner's object storage was pretty slow even in the same location. For email, that sounded not too ideal.

Also, I only have 5 mailboxes right now holding less than 15GB of data total... S3 is still cheaper than the minimum at Hetzner since I don't need anything close to a TB.

13. audelair ◴[] No.45675883{6}[source]
I do have to hand it to the developer though. This is some serious longterm commitment to an open standard that has simply never taken off beyond one company (Fastmail). Current JMAP implementation is pretty much nonexistent, and I am back to using IMAP/WebDAV with Roundcube and plugins with Stalwart. To me, this is an exercise in patience and waiting for an eventual payoff that may or may not come in the next two years. Having followed the project closely for over a year and gone through a few upgrades and followed the community, I'm still optimistic and happy to be along for the ride.
14. Avamander ◴[] No.45677196[source]
Well yeah, they do one thing, but to do email well you need more than one thing. Dovecot is also kinda shit with UTF-8 support amongst other things. There are plenty of reasons to not use that combination.
15. matesz ◴[] No.45679063{3}[source]
> Downsides: some features are gated behind an enterprise version

I treat this as an insurance policy. Even in this thread people mentioned how Maddy, which is an alternative modern full stack email solution in a single binary, lacks development efforts.

This is why we have this fantastic release for Stalwart - free shit.

Also as of now enterprise is for $0.2 per account per month which is extremely cheap unless somebody wants to build a big spam farm, of which as civilized Internet user I don't support. Obviously this might change, but even if you can always built multi-tenancy layer by yourself if you really need it - rest of the codebase is AGPL.

16. StalwartLabs ◴[] No.45679282{3}[source]
This will get better soon. The next step on the roadmap is to refactor the configuration format and migrate most APIs to JMAP.