git clone https://github.com/mailcow/mailcow-dockerized
cd mailcow-dockerized
git checkout feat/arm64-cow
./generate_config.sh #填写FQDN 设置时区
docker compose pull
docker compose up -d
Read More
docker-compose.yml
version: "3.5"
services:
maddy:
image: foxcpp/maddy:latest
restart: unless-stopped
ports:
- "25:25"
- "143:143"
- "465:465"
- "587:587"
- "993:993"
volumes:
- ./maddydata:/data
environment:
# REPLACE DOMAINS WITH YOURS
- MADDY_HOSTNAME=mx.example.com
- MADDY_DOMAIN=example.com
snappymail:
image: ajanvier/snappymail
volumes:
- ./snappymail/data:/snappymail/data
depends_on:
- maddy
ports:
- "80:8888"
maddy.conf
下载 https://github.com/foxcpp/maddy/raw/master/maddy.conf.docker
放入maddydata文件夹改名maddy.conf
maddy SSL 证书
maddydata/tls/fullchain.pem
maddydata/tls/privkey.pem
dkim 记录
域名添加txt 记录 default._domainkey
复制 maddydata/dkim/example.com_default.dns 填入
添加账户
docker-compose exec maddy maddyctl creds create foxcpp@maddy.test
docker-compose exec maddy maddyctl imap-acct create foxcpp@maddy.test
snappymail 配置
mx.example.com/?admin 打开管理面板 用户admin 密码在snappymail/data/_data_/_default_/
snappymail 后台添加域名,设置主机地址为maddy IMAP端口993 SMTP 587
自定义nginx配置
nginx.conf https://github.com/ajanvier/docker-snappymail/blob/master/rootfs/etc/nginx/nginx.conf
已知问题
snappymail 收到新邮件无法查看,是个bug,推荐使用桌面客户端
内存占用真的很少,当然是没有垃圾邮件和病毒防护的
mailcow 是个很好的邮局系统,但是官方没有ARM版本,现在可以用 platform: linux/amd64 在arm上运行amd64的容器,另外有网友编译了一些镜像的arm版
ubuntu要安装qemu binfmt-support qemu-user-static ,debian11 安装 bullseye-backports qemu binfmt-support qemu-user-static
docker-compose.override.yml
version: '2.4'
services:
unbound-mailcow:
image: quay.io/mailcowarm64/unbound
clamd-mailcow:
platform: linux/amd64
rspamd-mailcow:
# image: quay.io/mailcowarm64/rspamd #我用了这个arm镜像后连接不上smtp 有待后续测试
platform: linux/amd64
php-fpm-mailcow:
image: quay.io/mailcowarm64/phpfpm
sogo-mailcow:
platform: linux/amd64
image: mailcow/sogo:1.114
dovecot-mailcow:
platform: linux/amd64
image: mailcow/dovecot:1.21
postfix-mailcow:
image: quay.io/mailcowarm64/postfix
acme-mailcow:
image: quay.io/mailcowarm64/acme
netfilter-mailcow:
image: quay.io/mailcowarm64/netfilter
watchdog-mailcow:
image: quay.io/mailcowarm64/watchdog
dockerapi-mailcow:
image: quay.io/mailcowarm64/dockerapi
solr-mailcow:
image: quay.io/mailcowarm64/solr
olefy-mailcow:
image: quay.io/mailcowarm64/olefy
SOGo 和dovecot镜像 版本根据 https://github.com/mailcow/mailcow-dockerized/issues/879#issuecomment-1413271536 修改
SOGo 不能用,建议安装RoundCube 更新后可以使用
https://docs.mailcow.email/third_party/roundcube/third_party-roundcube/
Read More天翼生活和微信公众号客服果然是说要携带本人身份证去营业厅
直接投诉工信部,然后有当地电信电话问在不在本地,我说不在,让他直接改。结果下午当地的人(装宽带的)到我家来了,知道我在家本地(这时我不在家),又想让我去营业厅
我表示直接就可以改的业务,我为什么要去营业厅,你们不给我办理,我就继续投诉
一小时后,电信10000电话,修改成功。下月生效
因为当初上门推销我母亲办理了129的套餐,我很不喜欢当地的电信人员
Read More前段时间在趣域的域名交易买了2个.cat域名,然后就修改dns,结果有一个24小时后还没生效,找了客服,然后是修改成功了。
接着我又修改域名所有人信息,还是不生效,后来发现域名状态不对
Domain Status: clientDeleteProhibited https://icann.org/epp#clientDeleteProhibited
Domain Status: clientTransferProhibited https://icann.org/epp#clientTransferProhibited
Domain Status: clientUpdateProhibited https://icann.org/epp#clientUpdateProhibited
clientUpdateProhibited 禁止更新域名信息,发了个服务单,第二天域名状态变成了OK,然后再次修改域名联系人信息
结果每次都是 The server encountered an internal error and was unable to complete your request.
我每天尝试3次都是这样,直到昨晚再次尝试,终于提示成功
然后我去查询whois,结果又是出现了上面的3个禁止状态,所以有事没有修改成功……
到现在whois信息还是之前注册域名的人的信息……
继续发工单,找客服吧
PS:
1.最开始修改信息就是提示的成功,之后再修改都是The server encountered an internal error and was unable to complete your request.当然信息是一直没有更新(因为有clientUpdateProhibited)。
2.隔几天,趣域修改域名联系人信息那里显示的信息会变的和whois显示的一样,而修改后不管有没有提示成功,也就是图2都会变成你提交的信息,然后再过几天又变成和whois的一样。
3.查了下趣域域名出售平台的cat域名,注册商为swhosting.com的都又上面的3个禁止状态。
首先按麒麟官方的教程安装kmre
wget http://archive.ubuntukylin.com/ubuntukylin/pool/main/k/kylin-software-keyring/kylin-software-keyring_2021.04.21_all.deb
sudo dpkg -i kylin-software-keyring_2021.04.21_all.deb
sudo apt update
sudo apt install linux-headers-`uname -r`
sudo apt install kmre kylin-kmre-modules-dkms kylin-software-center
reboot
Read More
前几天吧yourls 更新到了1.7.9 结果今天发现api 页面500,本地测试后出错代码 Call to undefined function yourls_nonce url
google之后找到 https://github.com/YOURLS/YOURLS/issues/2661 , 更新 https://github.com/YOURLS/YOURLS master分支后解决,版本升级为1.7.10
Read Moresetup.mailu.io 生成的master版本docker-compose.yml和mailu.env 使用postgresql和mysql 数据库时roundcube会启动不了,见 https://github.com/Mailu/Mailu/issues/1471
所以自己修改镜像来让Roundcube 也用上postgresql
下载mailu源码,进入webmails/roundcube目录,修改start.py 25-28行
os.environ.get("ROUNDCUBE_DB_USER","roundcube"),
os.environ.get("ROUNDCUBE_DB_PW"),
os.environ.get("ROUNDCUBE_DB_HOST",os.environ.get("DB_HOST","database")),
os.environ.get("ROUNDCUBE_DB_NAME","roundcube")
修改下面的,maildb为docker-compose.yml中为Roundcube准备的容器host
os.environ.get("ROUNDCUBE_DB_USER","roundcube"),
os.environ.get("ROUNDCUBE_DB_PW","roundcube"),
os.environ.get("ROUNDCUBE_DB_HOST","maildb"),
os.environ.get("ROUNDCUBE_DB_NAME","roundcube")
docker build -t roundcube . # 编译修改过的镜像
修改docker-compose.yml的webmail 镜像为roundcube
docker-compose.yml中添加
maildb:
restart: always
image: postgres:12-alpine
healthcheck:
test: ["CMD", "pg_isready", "-U", "postgres"]
environment:
- POSTGRES_PASSWORD=roundcube
- POSTGRES_USER=roundcube
- POSTGRES_DB=roundcube
volumes:
- ./data/webmaildb:/var/lib/postgresql/data
然后就可以愉快的使用postgresql了
Read More昨天在一个新的vps上安装Vestacp,结果安装不上,才发现Vestacp到现在都还不支持20.04。于是去Vestacp Forum搜索,发现了Hestiacp www.hestiacp.com . https://forum.vestacp.com/viewtopic.php?p=83143#p83143
相对于Vestacp做的一些改进
- 默认支持多版本php共存,可以为每个网站选择不同的php版本,Vestacp虽然也可以做到但不是官方支持,比较麻烦
- 自带文件管理器,而Vestacp 的文件管理器是要购买的,不过感觉Hestiacp的文件管理器功能有点弱,总比没有好,差强人意。要注意的是文件管理器的根是用户目录(/home/username)是到不了其他目录的
- 邮件改进,Vestacp的webmail 是/webmail/不管哪个域名都可以访问,Hestiacp则是自动添加了webmail和mail的邮箱专用子域名。注意,如果要使用dkim的话,请从Web服务添加域名并选中DNS支持和邮箱支持,否则看不到dkim公钥(要去DNS服务里查看)
这次试用的是CyberPanel V2.0 先说感受,还是难用
问题
1,后台加载太慢,后台调用了https://code.jquery.com/jquery-3.2.1.min.js 国内打不开,即使用了科学后可以打开了后台还是慢的要死,一直在loading... 我只好F12删除loading的div
2,添加网站时可以选择设置dkim,之后在email那里有dkim manager ,然而不像别的面板那样直接提供v=DKIM1; h=sha256; k=rsa; p=MIIBIjANBgkqhkiG9w0BA 这样的让你去添加DNS设置,这里提供的是几段,不明白怎么组合
改进
1,后台备份下面有了个新的备份的条目,和上面的不同,可以在备份后直接选择恢复备份了
只试了不到1小时,后台慢的受不了,删了,还是用VestaCP
Read More更新IP命令 v-update-sys-ip
或 /usr/local/vesta/bin/v-update-sys-ip
删除旧的IP
/usr/local/vesta/data/ips/
这是重启apache2 和nginx 可能会报错,因为apache2和nginx的依然存在旧IP的配置,需要删除
/etc/apache2/conf.d/
/etc/nginx/conf.d/
删除旧IP配置文件后就可以启动apache2和nginx了
然后发现vestacp后台不能修改网站的IP,只好在下面的文件修改
/usr/local/vesta/data/users/
更新
结果发现apache2 500,最后只好重装了vestacp
Read More新安装了Elementary OS ,Firefox 浏览器右键单击后松开是自动打开了一个选项,下面是解决方法。
Firefox 打开 about:config 找到 ui.context_menus.after_mouseup 更改为 true
Read More