this post was submitted on 26 Jun 2024
30 points (96.9% liked)

Selfhosted

39980 readers
475 users here now

A place to share alternatives to popular online services that can be self-hosted without giving up privacy or locking you into a service you don't control.

Rules:

  1. Be civil: we're here to support and learn from one another. Insults won't be tolerated. Flame wars are frowned upon.

  2. No spam posting.

  3. Posts have to be centered around self-hosting. There are other communities for discussing hardware or home computing. If it's not obvious why your post topic revolves around selfhosting, please include details to make it clear.

  4. Don't duplicate the full text of your blog or github here. Just post the link for folks to click.

  5. Submission headline should match the article title (don’t cherry-pick information from the title to fit your agenda).

  6. No trolling.

Resources:

Any issues on the community? Report it using the report flag.

Questions? DM the mods!

founded 1 year ago
MODERATORS
 

Hey all,

I have given up hope of hosting my own mail server but was hoping for one that would serve as an archive -

  • downloads new emails via IMAP from my mail provider on a regular basis
  • allows my mail clients to connect via IMAP to view and search emails

Any suggestions for a docker solution for this?

Thanks

you are viewing a single comment's thread
view the rest of the comments
[–] conrad82@lemmy.world 1 points 4 months ago

I use dovecot for this. And thunderbird to actually move/archive the emails. I use caddy for many of my services, so I have pointed dovecot to caddys certificates (for "my.domain"), since it manages certificates through let's encrypt. I had a plan to install postfix for sending internal emails from my self-hosted services, but it seemed like a bit of configuration and I got busy with other stuff

I made an excerpt from my docker-compose.yml, but you probably have to figure out some things on your own


version: '3.4'

services:
  dovecot:
    image: dovecot/dovecot:2.3.20
    restart: unless-stopped
    volumes:
      - ./dovecot/:/etc/dovecot
      - /mnt/storage/dovecot/mail:/srv/mail
      - ./caddy/data/caddy/certificates/acme-v02.api.letsencrypt.org-directory/wildcard_.my.domain/wildcard_.my.domain.crt:/etc/ssl/cert.crt
      - ./caddy/data/caddy/certificates/acme-v02.api.letsencrypt.org-directory/wildcard_.my.domain/wildcard_.my.domain.key:/etc/ssl/key.key
    ports:
      - 993:993

contents of ./dovecot folder:

dovecot.conf
passwords

contents of dovecot.conf (I think I searched online to find a good example, I don't remember where from..)

## manage this file

mail_home=/srv/mail/%Lu
mail_location=sdbox:~/Mail
mail_uid=1000
mail_gid=1000

protocols = imap pop3 submission sieve lmtp

first_valid_uid = 1000
last_valid_uid = 1000

passdb {
  driver = passwd-file
  args = scheme=argon2i /etc/dovecot/passwords
}

ssl=yes
ssl_cert=</etc/ssl/cert.crt
ssl_key=</etc/ssl/key.key

namespace {
  inbox = yes
  separator = /

  mailbox Drafts {
    auto = subscribe
    special_use = \Drafts
  }
  mailbox Sent {
    auto = subscribe
    special_use = \Sent
  }
  mailbox Spam {
    auto = subscribe
    special_use = \Junk
  }
  mailbox Trash {
    auto = subscribe
    special_use = \Trash
  }
  mailbox Archive {
    auto = subscribe
    special_use = \Archive
  }
}

service lmtp {
  inet_listener {
    port = 24
  }
}

listen = *

log_path=/dev/stdout
info_log_path=/dev/stdout
debug_log_path=/dev/stdout