
该镜像用于部署GNU Mailman 3邮件列表管理系统的核心组件。运行容器时必须挂载/opt/mailman目录以持久化存储var目录及配置文件,确保数据跨容器会话保留。支持通过环境变量配置数据库连接、REST API参数及邮件传输代理(MTA),可独立运行或配合docker-compose使用。
/opt/mailman目录,确保配置、数据及状态持久化sqlite、postgres、mysql三种数据库类型/opt/mailman/mailman.cfg文件覆盖默认配置适用于需要部署Mailman 3邮件列表服务的场景,适合中小型邮件列表管理需求。可作为独立服务运行,或集成到包含数据库、Web界面(如Hyperkitty)的完整邮件列表系统中。
部署前需确保以下环境变量已正确配置:
HYPERKITTY_API_KEY:Hyperkitty API密钥,需与mailman-core配置值一致DATABASE_URL:数据库连接URL,格式为driver://user:password@hostname:port/databasenamesqlite:///opt/mailman-web-data/mailmanweb.db,标准docker-compose配置使用PostgreSQLDATABASE_TYPE:数据库类型,可选值:sqlite、postgres、mysql(Mailman 3仅支持这三种)sqliteDATABASE_CLASS:数据库驱动类,默认值:mailman.database.sqlite.SQLiteDatabase使用标准docker-compose配置时,以下变量通常无需修改:
MM_HOSTNAME:REST API和LMTP绑定的主机名/IP,默认使用容器主机名MAILMAN_REST_PORT:REST API端口,默认8001MAILMAN_REST_USER:REST API管理员用户名,默认restadminMAILMAN_REST_PASSWORD:REST API管理员密码,默认restpassMTA:邮件传输代理类型,可选exim或postfix,默认eximSMTP_HOST:发送邮件的SMTP主机,默认使用容器网关(通过/sbin/ip route获取)SMTP_PORT:SMTP端口,默认25HYPERKITTY_URL:Hyperkitty归档服务URL,默认http://mailman-web:8000/hyperkitty如需调整REST API的Gunicorn服务器参数(如超时时间),可在主机创建/opt/mailman/core/gunicorn-extra.cfg文件,添加自定义配置。默认使用Mailman Core自带的Gunicorn配置。
示例(增加超时时间):
[gunicorn] graceful_timeout = 30 timeout = 300
创建持久化目录并运行容器(需替换必要环境变量):
bash# 创建持久化目录 mkdir -p /opt/mailman/core # 启动容器,替换HYPERKITTY_API_KEY为实际值 docker run -it -e "HYPERKITTY_API_KEY=需修改为实际密钥" -h mailman-core -v /opt/mailman/core:/opt/mailman mailman-core
注意:若未配置
DATABASE_URL,数据库可能无法持久化。建议使用官方https://github.com/maxking/docker-mailman%E7%A1%AE%E4%BF%9D%E5%AE%8C%E6%95%B4%E5%8A%9F%E8%83%BD%E3%80%82
如需自定义配置,可在主机创建/opt/mailman/mailman.cfg文件,该文件将覆盖容器默认配置及环境变量设置的参数。
容器启动时自动生成以下配置文件(可通过mailman.cfg覆盖):
[mta] incoming: mailman.mta.exim4.LMTP outgoing: mailman.mta.deliver.deliver lmtp_host: $MM_HOSTNAME lmtp_port: 8024 smtp_host: $SMTP_HOST smtp_port: $SMTP_PORT configuration: python:mailman.config.exim4 [runner.retry] sleep_time: 10s [webservice] hostname: $MM_HOSTNAME port: $MAILMAN_REST_PORT admin_user: $MAILMAN_REST_USER admin_pass: $MAILMAN_REST_PASSWORD configuration: /etc/gunicorn.cfg [archiver.hyperkitty] class: mailman_hyperkitty.Archiver enable: yes configuration: /etc/mailman-hyperkitty.cfg [database] class: $DATABASE_CLASS url: $DATABASE_URL
[general] base_url: $HYPERKITTY_URL api_key: $HYPERKITTY_API_KEY
Mailman Core支持与任何支持LMTP协议的现代MTA配合使用,目前已测试并支持Postfix和Exim。其他MTA在容器化环境中可能存在兼容性限制。
Postfix/Exim详细配置说明请参考官方MTA设置文档。




探索更多轩辕镜像的使用方法,找到最适合您系统的配置方式
通过 Docker 登录认证访问私有仓库
无需登录使用专属域名
Kubernetes 集群配置 Containerd
K3s 轻量级 Kubernetes 镜像加速
VS Code Dev Containers 配置
Podman 容器引擎配置
HPC 科学计算容器配置
ghcr、Quay、nvcr 等镜像仓库
Harbor Proxy Repository 对接专属域名
Portainer Registries 加速拉取
Nexus3 Docker Proxy 内网缓存
需要其他帮助?请查看我们的 常见问题Docker 镜像访问常见问题解答 或 提交工单
manifest unknown
no matching manifest(架构)
invalid tar header(解压)
TLS 证书失败
DNS 超时
410 Gone 排查
402 与流量用尽
401 认证失败
429 限流
D-Bus 凭证提示
413 与超大单层
来自真实用户的反馈,见证轩辕镜像的优质服务