Sign inSign up

magpeek/coremail-app

By magpeek

•Updated 4 days ago

Open-source mail server for SMBs: IMAP4rev2, JMAP, SMTP, ActiveSync, CalDAV/CardDAV, webmail

Image
Message queues
Web servers
0

10K+

magpeek/coremail-app repository overview

⁠CoreMail — open-source mail server for SMBs

Self-hosted mail server for 10–500 users as an Exchange alternative: no licence fees, no vendor lock-in, full data sovereignty. One application image with all services, plus standard images for PostgreSQL, Redis, MinIO, rspamd and ClamAV.

⁠Supported tags

TagNotes
5.9.0, latestEnglish repository, admin CLI coremail, new Docker Compose, EWS tied to MAPI
5.7.1JMAP server, MAPI over HTTP optional

Platforms: linux/amd64, linux/arm64.

⁠What's inside

  • SMTP inbound (25), submission (587 STARTTLS, 465 implicit TLS), DKIM signing, MX relay
  • IMAP4rev2 (RFC 9051, 143/993), POP3 (110/995)
  • JMAP (RFC 8620/8621 + WebSocket, Blob, Quota, Sharing, VAPID)
  • CalDAV / CardDAV, ActiveSync (EAS 14.1)
  • Optional MAPI over HTTP + EWS for Outlook 2013–2021 (default off)
  • Webmail (MWA) and admin panel (BCP), REST API
  • Security: SPF/DKIM/DMARC/ARC, DNSBL, greylisting, rspamd, ClamAV, quarantine
  • Auth: local, LDAP/AD, OIDC/SAML SSO, MFA (TOTP, WebAuthn), app passwords
  • Admin CLI coremail inside the container

⁠Quick start

git clone https://github.com/MAGPEEK/CoreMail.git && cd CoreMail
bash scripts/setup.sh                                   # generates .env with random keys
docker compose -f infra/docker/docker-compose.yml up -d

Then open http://<server-ip>:3000/bcp/ and run the setup wizard (admin account + domain). Afterwards request a Let's Encrypt certificate in the BCP under SSL/TLS, or via CLI:

docker exec -it coremail coremail cert letsencrypt \
  --domains mail.example.com --email [email protected] --services SMTP,IMAP,POP3
⁠Required .env values
VariablePurpose
JWT_SECRET, PEPPER64 hex characters each (openssl rand -hex 32)
POSTGRES_PASSWORD, REDIS_PASSWORD, MINIO_ROOT_PASSWORDdatabase passwords

Everything else has sensible defaults. The Compose file aborts with a hint if a required value is missing.

⁠Ports

PortService
25SMTP inbound
465 / 587SMTPS / submission
143 / 993IMAP / IMAPS
110 / 995POP3 / POP3S (optional)
80HTTP (Let's Encrypt challenge, redirect)
443HTTPS: webmail, admin panel, JMAP, EWS, ActiveSync, CalDAV, Autodiscover
3000HTTP without TLS (initial setup, behind your own reverse proxy)

⁠Upgrade

docker compose pull coremail && docker compose up -d coremail

Schema changes are applied automatically at container start. Read the release notes before upgrading.

⁠Documentation

Tag summary

Content type

Image

Digest

sha256:d19deed4b…

Size

307.1 MB

Last updated

4 days ago

docker pull magpeek/coremail-app