跳到主要内容

在启动 ONLYOFFICE 邮件 Docker 容器后运行外部脚本

如果您需要更改 onlyoffice-mail-server 的默认设置,从 v1.6.57 版本开始,可以在容器启动后运行外部脚本。为此,请在以下路径下创建您的脚本 /app/onlyoffice/MailServer/data/external.sh,并在其中编写必要的命令以编辑配置,或使用任何其他 bash 语言的命令(请参见下方示例)。每次版本更新或重启后,该脚本将被执行。

以前,如果需要更改配置,您必须在版本更新后再次在配置文件中进行相同的更改。现在,如果您将编辑配置文件的必要命令写入脚本并保存在指定路径下,每次版本更新后脚本运行时,所有更改将自动应用。

以下是 external.sh 文件的示例,您可以根据需要自定义 ONLYOFFICE 邮件。您可以只使用示例中列出的命令,而不是全部,或者添加您自己的命令。

{ANY-YOUR-IPS} 必须替换为您信任的任何一组 IP 地址(用空格分隔)。

#!/bin/bash

echo "Add ignore IP addresses"
sed -i -e 's/ignoreip = 127.0.0.1\/8 onlyoffice-community-server 172.18.0.1/ignoreip = 127.0.0.1\/8 onlyoffice-community-server 172.18.0.1 {ANY-YOUR-IPS}/g' /etc/fail2ban/jail.conf

echo "Disable greylist"
sed -i -e '/\[Greylisting\]/!b;n;c enable=0' /etc/policyd/cluebringer.conf

echo "Increase imap connections from one IP"
sed -i -e 's/mail_max_userip_connections = 20/mail_max_userip_connections = 100/g' /etc/dovecot/dovecot.conf

echo "Setup mynetwork"
sed -i -e 's/mynetworks = 127.0.0.1$/mynetworks = 127.0.0.1 {ANY-YOUR-IPS}/g' /etc/postfix/main.cf

fail2ban-client reload
dovecot reload
postfix reload

其中:

  • Add ignore IP addresses 用于创建不受常见 Fail2ban 规则影响的 IP 地址列表。如果来自指定 IP 地址的用户输入错误的登录名或密码,该 IP 地址将不会被阻止,而未知 IP 地址在登录尝试失败后将被阻止。
  • Disable greylist 用于禁用默认启用的灰名单功能(基于收件人服务器暂时无法接收消息的原则,邮件服务器会重试发送消息,而垃圾邮件发送者则不会)。禁用此功能可能是必要的,例如,如果您从未知邮件服务器接收大量消息,以避免降低业务流程速度。
  • Increase imap connections from one IP 用于允许从单个 IP 地址连接的客户端数量超过默认指定的数量。在上面的示例中,允许从单个 IP 地址进行 100 个连接,而不是 20 个连接。
  • Setup mynetwork 用于在 Postfix 配置文件中指定受信任网络列表,这允许对属于受信任网络的 IP 地址的邮件服务器检查变得不那么严格。
  • 更改完成后,fail2ban-client、dovecot、postfix 服务将再次读取配置文件。

要了解如何使用脚本执行某些操作,您可以参考以下文章: