mailcow: dockerized 是完整的自建邮件栈(Postfix、Dovecot、Rspamd、可选 ClamAV、MariaDB、Redis、Nginx、SOGo、Web 管理界面),使用 Docker 与 Docker Compose 编排。
用途
- 用统一后台运行自有邮件服务。
- 管理域名、邮箱、别名、配额与反垃圾策略。
可投递性依赖 MX / SPF / DKIM / DMARC 及与主机名一致的 PTR。参见 mailcow DNS 说明。
官方最低配置
| 资源 | 最低 |
|---|---|
| 内存 | 6 GiB + 1 GiB swap |
| 磁盘 | 20 GiB(不含邮箱数据) |
不支持:OpenVZ、Virtuozzo、LXC、常见 NAS。请使用 KVM 等完整虚拟化。
安装前确认端口 25, 80, 110, 143, 443, 465, 587, 993, 995, 4190 未被占用:
Bashss -tlpn | grep -E -w '25|80|110|143|443|465|587|993|995|4190'
可在 mailcow.conf 中设置 SKIP_CLAMD=y、SKIP_FTS=y 以降低内存占用。
1 — 系统包(Debian/Ubuntu)
Bashsudo apt update sudo apt install -y git openssl curl gawk coreutils grep jq
2 — Docker 与 Compose v2
需 Docker ≥ 24.0.0、Compose ≥ 2.0:
Bashcurl -sSL https://get.docker.com/ | CHANNEL=stable sudo sh sudo systemctl enable --now docker sudo apt update sudo apt install -y docker-compose-plugin
验证:docker --version、docker compose version(命令为 docker compose)。
3 — 克隆与生成配置
Bash1sudo su 2umask 0022 3cd /opt 4git clone https://github.com/mailcow/mailcow-dockerized 5cd mailcow-dockerized 6./generate_config.sh
若无可用 IPv6,mailcow 2025-09 起可在 mailcow.conf 设 ENABLE_IPV6=false 后完整重启栈,见 Disable IPv6。
4 — 启动
Bashdocker compose pull docker compose up -d
管理地址:https://您的MAILCOW主机名/admin,默认 admin / moohoo,须立即修改。
安全
- 修改 管理员密码。
- 启用 2FA:Two-Factor Authentication。
- 确认 NTP 时间同步(
timedatectl status)。 - 在界面生成 DKIM 并配置 SPF、DMARC。
- 防火墙:mailcow 说明 UFW/firewalld 可能与 Docker 规则冲突,建议使用 DOCKER-USER 链,见 prerequisite-system 中防火墙章节。
重置管理员密码
Bashcd /opt/mailcow-dockerized ./helper-scripts/mailcow-reset-admin.sh
详见 Reset passwords。