foxcpp/maddy

By foxcpp

Updated about 2 months ago

Composable all-in-one mail server

Image
Networking
20

100K+

foxcpp/maddy repository overview

maddy mail server

Official maddy mail server Docker image.

TL;DR

docker volume create maddydata
docker run \
  --name maddy \
  -e MADDY_HOSTNAME=mx.maddy.test \
  -e MADDY_DOMAIN=maddy.test \
  -v maddydata:/data \
  -p 25:25 \
  -p 143:143 \
  -p 587:587 \
  -p 993:993 \
  foxcpp/maddy:latest

It will fail on first startup. Copy TLS certificate to /data/tls_cert.pem and key to /data/tls_key.pem. Run the server again. Stop it. Finish configuration (DKIM keys, etc) as described in https://foxcpp.dev/maddy/tutorials/setting-up/. And run the server again, you are ready.

Creating users:

docker run --rm -it -v maddydata:/data --entrypoint /bin/maddyctl foxcpp/maddy:latest creds create [email protected]
docker run --rm -it -v maddydata:/data --entrypoint /bin/maddyctl foxcpp/maddy:latest imap-acct create [email protected]

Image tags

  • latest - A latest stable release. May contain breaking changes.
  • X.Y - A specific feature branch, it is recommended to use these tags to receive bugfixes without the risk of feature-related regressions.
  • X.Y.Z - A specific stable release

maddyctl

The management utility is included in the container in /bin/maddyctl. You can run it like that:

docker run --rm -it -v maddydata:/data --entrypoint /bin/maddyctl foxcpp/maddy:latest

Note that, if you modify messages using maddyctl while the server is running - you must ensure that /tmp from the server is accessible for maddyctl e.g. both server and maddyctl containers have it mounted from the same path.

Environment variables

  • MADDY_HOSTNAME - MX hostname e.g. mx.foxcpp.dev
  • MADDY_DOMAIN - Domain the server is handling messages for. Setting multiple domains via environment is currently not supported, you need to edit /data/maddy.conf for that.

Ports

All standard ports, as described in maddy docs.

  • 25 - SMTP inbound port.
  • 465, 587 - SMTP Submission ports
  • 993, 143 - IMAP4 ports

Volumes

/data - maddy state directory. Databases, queues, etc are stored here. You want to mount a named volume there. The main configuration file is stored here too (/data/maddy.conf).

Tag summary

Content type

Image

Digest

sha256:de42151ad

Size

27.8 MB

Last updated

about 2 months ago

docker pull foxcpp/maddy