正常所有服务运行正常
InfrawireInfrawire 标志文档

在 Linux VPS 上安装并加固 mailcow

mailcow: dockerized 是完整的自建邮件栈(Postfix、Dovecot、Rspamd、可选 ClamAV、MariaDB、Redis、Nginx、SOGo、Web 管理界面),使用 DockerDocker Compose 编排。

用途

  • 用统一后台运行自有邮件服务
  • 管理域名、邮箱、别名、配额与反垃圾策略。

可投递性依赖 MX / SPF / DKIM / DMARC 及与主机名一致的 PTR。参见 mailcow DNS 说明

官方最低配置

Prepare your system

资源最低
内存6 GiB + 1 GiB swap
磁盘20 GiB(不含邮箱数据)

不支持:OpenVZ、Virtuozzo、LXC、常见 NAS。请使用 KVM 等完整虚拟化

安装前确认端口 25, 80, 110, 143, 443, 465, 587, 993, 995, 4190 未被占用:

Bash
ss -tlpn | grep -E -w '25|80|110|143|443|465|587|993|995|4190'

可在 mailcow.conf 中设置 SKIP_CLAMD=ySKIP_FTS=y 以降低内存占用。

1 — 系统包(Debian/Ubuntu)

Bash
sudo apt update sudo apt install -y git openssl curl gawk coreutils grep jq

2 — Docker 与 Compose v2

Docker ≥ 24.0.0Compose ≥ 2.0

Bash
curl -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 --versiondocker compose version(命令为 docker compose)。

3 — 克隆与生成配置

Bash
1sudo 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.confENABLE_IPV6=false 后完整重启栈,见 Disable IPv6

4 — 启动

Bash
docker compose pull docker compose up -d

管理地址:https://您的MAILCOW主机名/admin,默认 admin / moohoo,须立即修改

安全

  1. 修改 管理员密码
  2. 启用 2FATwo-Factor Authentication
  3. 确认 NTP 时间同步timedatectl status)。
  4. 在界面生成 DKIM 并配置 SPF、DMARC
  5. 防火墙:mailcow 说明 UFW/firewalld 可能与 Docker 规则冲突,建议使用 DOCKER-USER 链,见 prerequisite-system 中防火墙章节。

重置管理员密码

Bash
cd /opt/mailcow-dockerized ./helper-scripts/mailcow-reset-admin.sh

详见 Reset passwords

更多:安装文档GitHub