ipv6邮件服务器 Poste邮件服务器搭建 docker compose
邮件服务器是我们日常工作和沟通不可或缺的一部分。Poste.io是一个简单易用的邮件服务器解决方案,它基于Docker容器技术,提供了快速搭建并管理邮件服务器的能力。
Poste与ipv6
网上的教程多为docker run
命令,对于有一些自定义的配置修改起来非常的不方便,尤其是对于ipv6有需求的朋友,原来的方法在docker run
下 ipv6网络大概会出现问题,这里我参考官方的Docker network进行配置的docker-compose.yml
,有兴趣的可以去研究研究,挺有意思的。
为了同时支持ipv4与ipv6,官方建议采用Recommended: dedicated server for poste.io only (network=host) 模式,此模式为占用服务器的80、443端口,对于正常使用的服务器来说不可能只运行一个邮件服务器,故舍弃。
同时支持ipv4与ipv6还有一种模式Reverse proxy, poste.io, other web containers and network=host (when you run other HTTP services at same server),此模式不需要占用80、443端口,但是需要自己配置一下反向代理,所以这里选择这一种模式进行配置。
默认你已经安装好docker,配置中需要一个域名,申请好的证书,关于如何申请证书可以参考我的这篇文章,下面为配置过程。
docker compose配置文件
以下为建立的过程命令:
mkdir poste
cd poste
vi docker-compose.yml
编辑docker-compose.yml
配置文件:
version: '3'
services:
mailserver:
image: analogic/poste.io
container_name: mailserver
restart: always
network_mode: "host"
ports:
- "25:25"
- "110:110"
- "143:143"
- "587:587"
- "993:993"
- "995:995"
- "4190:4190"
- "465:465"
environment:
- VIRTUAL_HOST=mail.你的域名
#- HTTPS=OFF
- HTTP_PORT=5080
- HTTPS_PORT=5443
- TZ=Asia/Shanghai
- DISABLE_CLAMAV=FALSE
volumes:
- /etc/localtime:/etc/localtime:ro
- /data/mail-data:/data
- 你的证书路径.key:/data/ssl/server.key:ro
- 你的证书路径.cer:/data/ssl/ca.crt:ro
- 你的证书路径.cer:/data/ssl/server.crt:ro
在上面的配置文件中需要注意VIRTUAL_HOST
参数为你的邮件域名,你申请的证书路径(poste自带证书申请,但是我申请多次都以失败告终,这里是外部手动申请的证书文件),DISABLE_CLAMAV
参数为关闭杀毒,服务器内存不够的话建议打开。
安装poste
以上我们得到一个docker-compose.yml
文件,执行以下命令安装启动:
docker compose up -d
DNS配置
以我在华为云的DNS配置,需要注意替换成自己的域名:
配置好后访问 mx.你的域名:5443 就是你的poste管理后台根据提示完成初始化配置。
管理后台配置
进入管理后台后,设置你的域名:
点击regenrate key:
这个就是上面DNS设置中还需要用到的参数,把这个填上去就好了。
账户设置
按照提示创建账户发送邮件吧!