So I am currently using PurelyMail for my email server, as it’s hard to beat <$0.40/month for unlimited aliases, which I fully intend to replace when I can afford to justify a VPS. It is incredibly slow to use their webmail, and even checking for new emails can take awhile, so I was hoping to mitigate as much of that as possible by having a local copy of my emails and connecting to a self-hosted webmail/connecting my phone app to the local email server instead of the 3rd party one.
This would also act as an interim step to moving my email service to a non-US VPS smoothly, since I would have a copy of all my emails when the time comes.
The problem I am facing with this is being overwhelmed by choice, while not being sure of what I actually need. Every time I search this, I see suggestions of running a stack of 2-10 services, but not really a good explanation of why those services are needed - and some of the explanations seem to contradict each other (I use x services that seems to be feature complete, but I do this function with y service because that’s how I set it up 10 years ago), and I am just not sure what I actually need.
I’m also not sure the best way to safely set it up within my current setup. Is it doable with Traefik+Authelia in docker? Should it be it’s own dedicated VM? Should I make sure Traefik is watching port 143, or is it safe to forward the port directly to the container/VM?
For services I need to achieve what I want, what is actually necessary/not necessary?
- I see dovecot mentioned a lot, and it seems to have a lot of environment variables that aren’t at all listed in it’s docker documentation.
man dovecot
also did not seem very enlightening to me. - I’ve also seen imapsync mentioned to be paired with dovecot, what does it do that dovecot doesn’t?
- While trying to figure out what I need, I have also seen things like docker-mailserver. This seems to be far more than necessary for my use case though, should I bother looking into it, or keep it simple?
- For mail clients, what is the benefit of Thunderbird over something like Roundcube? Is it worth running a Thunderbird container if I want a webclient, or should I stick to a purpose-built one?
I run mbsync/isync to keep a maildir copy of my email (hosted by someone else).
You can run it periodically with cron or systemd timers, it connects to an IMAP server, downloads all emails to a directory (in maildir format) for backup. You can also use this to migrate to another IMAP server.
If the webmail sucks, I wouldn’t run my own. I would consider using Thunderbird. It is a desktop/Android application. It syncs mail to your desktop/phone, so most of the time, it’s working with local storage so it’s much faster than most webmails.
I’m low key on the lookout for something like this as well, to gain independence from mail providers, and I’ve had a browser tab for Mail Archiver open for a few months now but never got around to trying it out. Maybe this would solve your problem?
I run this setup, mostly. For backups, I just run a BorgBackup cronjob over the Maildir and the configuration folders.
My mail client is mu4e. Advantages over a web-based mail client: I can safely encrypt my e-mail (web-based GnuPG has too many flaws) and all the e-mails are stored on my hard disk for searching and archiving.
I too looked for a way to move my imap emails out of the cloud, and after looking for years, 2 came along in a matter of months. Mail Archiver and Open Archiver. I’ve been using Open Archiver for about 2 months and like it. I just VPN to home (well, Pangolin), and have it as a proxied web page to search old emails.