
Stalwart Mail Server 完整 Docker 部署指南【免费下载链接】stalwartAll-in-one Mail Collaboration server. Secure, scalable and fluent in every protocol (IMAP, JMAP, SMTP, CalDAV, CardDAV, WebDAV).项目地址: https://gitcode.com/GitHub_Trending/ma/stalwartStalwart Mail Server 是一个用 Rust 编写的一体化邮件服务器,内置 SMTP 收信、IMAP 与 JMAP(比 IMAP 更新一代的邮件协议)取信,以及 CalDAV、CardDAV 等日历和联系人协作能力。本文带你用 Docker 部署它,全程三步,照着做就能跑起来。它解决什么问题一套进程搞定全部协议:SMTP 收信、IMAP/JMAP 取信、CalDAV/CardDAV 管日历和联系人,不用再把多个软件拼在一起。安全是默认项:TLS 加密、SPF/DKIM/DMARC 认证、垃圾邮件过滤、访问限流都写进核心,不是后期装的插件。开箱即用:首次启动自动生成默认配置和自签证书,新手不用手写几十行参数。部署前:先确认这台机器达标项目最低要求说明Docker 版本20.10 及以上需配套 Compose 2.0内存2 GB邮件量大建议 4 GB磁盘20 GB 可用空间邮件和附件会持续增长系统64 位 Linux 或 macOSx86_64 与 ARM64 均支持三步完成 Stalwart Docker 部署第一步:克隆仓库获取默认配置执行下面命令,把仓库拉下来作为配置和文档的参考。# 克隆 Stalwart 仓库并进入目录 git clone https://gitcode.com/GitHub_Trending/ma/stalwart cd stalwart成功时,当前目录里能看到Dockerfile、tests等文件,说明仓库拉取成功。第二步:编写 Docker Compose 文件在当前目录创建docker-compose.yml,只保留跑起来必需的核心字段。services: stalwart: image: stalwartlabs/stalwart:latest # 官方镜像,Compose 自动拉取 container_name: stalwart restart: unless-stopped # 宕机或重启后自动拉起 ports: - 25:25 # SMTP 收信 - 587:587 # SMTP 提交(发信) - 143:143 # IMAP - 993:993 # IMAPS(加密取信) - 110:110 # POP3 - 8080:8080 # Web 管理界面 volumes: - ./etc:/etc/stalwart # 配置文件,首次启动自动生成 - ./data:/var/lib/stalwart # 邮件数据,务必持久化 environment: - TZAsia/Shanghai保存后,用编辑器检查缩进:全部用空格,不能用 Tab。看到结构对齐、无报错,这一步就通过了。第三步:编写核心配置创建etc目录并写入config.toml。Stalwart 首次启动会自动补全完整配置,这里只需预置最关键的一项——你的邮件域名。mkdir -p etc[server] hostname mail.example.com # 改成你自己的域名 # TLS 证书、存储后端、端口监听等其余配置 # 全部留空,由 Stalwart 首次启动时自动生成⚠️ hostname 一定要改成你自己的域名,否则客户端按错误主机名连接会导致 TLS 握手失败。启动后的三个验证动作启动服务并查看状态。# 启动服务,随后检查容器状态 docker compose up -d docker compose ps验证容器状态:看到 STATUS 为Up(healthy),说明进程正常启动。验证端口监听:PORTS 一列能看到25、143、8080等映射;再执行curl http://127.0.0.1:8080/healthz/live,返回正常即说明服务已就绪。验证管理界面:打开浏览器访问http://你的服务器IP:8080,看到初始化向导页面,部署即完成。新手常见问题(FAQ)端口被占用怎么办?用ss -tlnp | grep :25找到占用进程,或把 compose 里25:25改成2525:25这类非默认端口。数据目录权限报错?./data和./etc由容器内 stalwart 用户写入,保持默认权限即可,不要提前手动建空目录。浏览器提示证书不受信任?首次启动生成的是自签证书,点继续访问即可;生产环境再配正式域名证书。数据库连接失败?默认用内置 RocksDB 存储,不依赖外部数据库;只有切到 PostgreSQL/MySQL 时才需单独部署并改配置。下一步到这里,你的 Stalwart 邮件服务器已经在 Docker 里跑起来了。建议接着做三件事:配置正式 TLS 证书(可启用 ACME 自动签发)、定期备份./data目录、按邮件量调整内存上限。完整配置项与安装编排示例,可参考仓库内的 Dockerfile 和 tests/docker/。【免费下载链接】stalwartAll-in-one Mail Collaboration server. Secure, scalable and fluent in every protocol (IMAP, JMAP, SMTP, CalDAV, CardDAV, WebDAV).项目地址: https://gitcode.com/GitHub_Trending/ma/stalwart创作声明:本文部分内容由AI辅助生成(AIGC),仅供参考