/e/ Cloud - selfhosting

I guess I’m late to the party but I’m still I’m going to pull this thread all the way up to the top. The reason is because I can totally understand the sentiment behind this ask.

Let me preface by saying that I’ve read every single word in this thread ( yes, all of Aleks’ posts ) and the linked gitlab issue ( though there wasn’t much to read there ).

Now, the reason why I’m jumping in here is not because I understand the sentiment; but because I know this is possible today. I do it myself ( though I’m kind of cheating in a way, but still ). I’m a YunoHost user and a /e/ user myself.

So, brace yourself, this is probably going to be longer than Aleks’ posts; but I’m going to explain how to get this done with minimal to no effort.

Let me start off with some tl;dr :

  1. you don’t need /e/'s self-hosting solution
  2. all you need is just plain vanilla YunoHost with the Nextcloud application and you’re good to go.

The long version :

/e/ Cloud

The /e/ cloud is just a glorified Nextcloud installation with an email provider ( don’t give it too much credit than it deserves )

Email

You already have YunoHost doing a great job with email handling. Let YunoHost continue to do the good job it is already doing.

Nextcloud

/e/ is not doing anything special with their version of Nextcloud other some theming as far as I’ve seen. The reason I’m saying this is because I’m running my own Nextcloud and my /e/ OS works without any issues at all.

All you need is to install the Nextcloud app on YunoHost ( go through the effort of setting it up right; I don’t want to cover that here ) and then go ahead and login in your “/e/ account”.

This is where it kind of gets tricky. There’s a hidden “Server URL” field hidden under that big “Login with an other account” option. All you need to do is put in the URL for your nextcloud instance into that field, put in the right credentials to your user account on Nextcloud ( or YunoHost account; since YunoHost hosts a single LDAP database for the whole server ) and you’re good to go.

All of your default apps start syncing over to your own instance of Nextcloud running on YunoHost :metal:

Caveat

There’s only one issue that you’ll face. It is with the mail app which wouldn’t sync to a custom email server. That’s probably because /e/ uses a different email server than what we use.
That’s an easy fix though. Just clear the Mail app’s data and manually add your email account to it ( more on that below )

Now, as I visited the /e/ forum looking for that post that I linked above, I found this post that says that one would be better off linking WebDav accounts for calendar and contacts and the Nextcloud client for the remainder of the syncing.
However, I haven’t had any issues in the 5 months that I’ve been using the OS. With that said, we should also give them the benefit of the doubt if they have to say that. But they also say that this well known bug will be solved soon. So, I’m just simply going to say - Your Mileage May Vary.

Email Setup - Auto Discovery

Now, what most people find difficult even after having all the heavy-lifting of setting up the mail server right is figuring out how to configure their email clients to actually talk to the mail server.

Enter SRV DNS records. SRV records are DNS records that can be used for service discovery. This can be put to use to set up for your domain.
All you need is a few DNS records and then all of your email clients will just automagically configure themselves when you just put in your email server domain.

  • _imap(s)._tcp.domain.tld
  • _submission._tcp.domain.tld

these are the 2 important SRV records that are required to configure email clients.

Now, you can have other records related to email like _pop(3)(s)._tcp.domain.tld if you have POP3 enabled on your server ( I don’t think YunoHost enables it though; if I recall correctly, YunoHost opens only 2 ports - 465 and 993 ); but those are not required.

Once you have these SRV records in place, any email client should be able to pick up your mail server configurations easily.

Going back to where I left about the email client on /e/, it would be trivial to set the default Mail app up even if you clear the app’s data and have to start over. Just point the client to the right domain and the SRV records will take over from there. The mail client should be able to discover and configure the client with most of the configuration from there.

Cheating

Finally, I did mention in the beginning that I was kind of cheating when I said that I was using this setup with YunoHost. Actually, I don’t use YunoHost for hosting my personal email or cloud. I have them set up on different servers from YunoHost. But that doesn’t mean that I don’t use YunoHost. I use it for everything other than my email and cloud. In fact, I trusted YunoHost with all of my personal email until very recently. It still hosts some other emails on it; just not my personal email.

I got smart with the whole email setup only very recently. Trust me, it definitely is the kind of thing that you put up the big warning DO NOT TRY THIS AT HOME. You can never get all of it right. Even if you get all of it right, you’ll never know for sure because it’ll take months to test the set up in terms of server reputation. And it’s not even about the software that you configure on the server, it’s about the way your server interacts on the network that makes all the difference. And if you get dealt a bad hand ( like an IP from a blacklisted CIDR ), you’ll never know for months.
And that’s why I want to emphasis on how great of a job YunoHost is doing at least on the server software side. You can’t fix the other issues with software, so, that’s out of the scope of YunoHost. I can say this because I’ve tried this ( and failed multiple times ) and am speaking from experience. I cheated even there and compared notes with YunoHost to understand what was going wrong with my configurations.
If you’re adventurous enough, you can go ahead and try setting up your mail server but please don’t route your production emails to it unless you’ve confirmed at least 3 months of consistent good reputation by at least 2 major email providers - Google and Microsoft. You’ll realize how hard it is to get to the right configuration in terms of software.

I did have an instance of Nextcloud on my YunoHost instance but I didn’t use it that extensively though. I think it’s still there too. I set up a fresh Nextcloud instance when I decided to switch to /e/ OS ( and also because I had grander plans ). My YunoHost instance is a little choked on resources; so I didn’t want to choke it any further with all the regular syncing coming from my phone.

The reason why I’m admitting all of this is because I don’t want you to think later that I was a hypocrite to give you all this lecture only to say that I don’t walk my own talk. You can choose for yourself whether you want to take the lecture or not. Your choice.

Conclusion

YunoHost does a great job of hosting your email for you. There’s no reason why you’d need someone else’s solution at all. And since you already have YunoHost, and it lets you host Nextcloud, why not set up Nextcloud there and go ahead, set up some DNS records, flash your phone with /e/ OS, point it to your Nextcloud instance and you have your own /e/ cloud self-hosted.

9 Likes