explaingit

mailcow/mailcow-dockerized

12,751JavaScriptAudience · ops devopsComplexity · 4/5LicenseSetup · hard

TLDR

A self-hosted email server suite packaged as Docker containers, bundling SMTP, IMAP, antivirus, spam filtering, and automatic SSL so you can run your own email infrastructure on a private Linux server.

Mindmap

mindmap
  root((repo))
    What it does
      Self-hosted email
      Full mail server
    Components
      SMTP and IMAP
      ClamAV antivirus
      SSL management
    Features
      Spam filtering
      Custom domains
      Team mailboxes
    Support
      Paid contracts
      Community forum
Click or tap to explore — scroll the page freely

Code map

Detail Auto

An interactive map of this repo's files and how they connect — its source is parsed live in your browser. Click Visualize to build it.

filefunction / class

Things people build with this

USE CASE 1

Run a complete email server for a custom domain on your own Linux server, keeping all messages off third-party providers

USE CASE 2

Set up email addresses for a small business or team with spam filtering and antivirus scanning included

USE CASE 3

Replace a paid email hosting plan to own your data and reduce monthly subscription costs

USE CASE 4

Give team members their own mailboxes with role-based access controls managed from a web interface

Tech stack

JavaScriptPHPDockerClamAV

Getting it running

Difficulty · hard Time to first run · 1h+

Requires a Linux server with ports 25, 143, 443, and 587 open, plus DNS records (MX, SPF, DKIM, DMARC) configured for your domain.

GPL v3, free to use and modify, but any version you distribute must also be released as open source.

In plain English

mailcow: dockerized is a self-hosted email server suite packaged as a collection of Docker containers. It bundles everything needed to run a complete mail server, including IMAP, antivirus scanning via ClamAV, and automatic SSL certificate management, into a single deployment that you run on your own server rather than relying on a third-party email provider. The project is aimed at system administrators and technically experienced users who want full control over their email infrastructure. Running your own mail server gives you ownership of your data and the ability to set up custom domain email addresses, but it also requires ongoing maintenance and server management skills. The documentation site (docs.mailcow.email) covers installation and configuration in detail, as the README itself is brief and links to external resources rather than walking through setup steps. Support is available through paid contracts with Servercow (the company behind the project), or through a one-time license purchase. Free community support exists on Telegram channels and a dedicated community forum. Security vulnerabilities should be reported directly by email rather than via public issue trackers. The project is managed by The Infrastructure Company GmbH, a German company, and released under the GNU General Public License version 3. It was originally created by a developer known as andryyy. Several open-source components are bundled inside it, and the README notes that users should review those components' individual licenses before using mailcow.

Copy-paste prompts

Prompt 1
I just spun up a fresh Ubuntu 22.04 server. Walk me through the full mailcow-dockerized installation, including the DNS records I need to set for my domain to send and receive email correctly.
Prompt 2
My mailcow installation is marking legitimate emails as spam. How do I access the rspamd dashboard, whitelist a sender domain, and adjust the spam score threshold?
Prompt 3
Show me how to add a new email domain to my mailcow instance, create mailboxes for five users, and set up DKIM signing for the new domain.
Prompt 4
How do I configure mailcow to use an external SMTP relay (like Amazon SES) for outbound mail so my server's IP does not get flagged as a new sender?
Prompt 5
Walk me through setting up automatic TLS certificate renewal in mailcow using Let's Encrypt, and what to check if the certificate renewal cron job fails.
Open on GitHub → Explain another repo

← mailcow on gitmyhub — every repo by this author, as a profile.

Verify against the repo before relying on details.