
如果你使用 DeepSeek、元宝 AI、Copilot、ChatGPT 等 AI 工具,协助配置轩辕镜像、编写 docker pull 命令、修改 Docker Compose 镜像地址、配置镜像加速、排查镜像拉取失败、分析报错日志等问题,请先让 AI 阅读并遵守轩辕镜像的规则文档。
只需在 AI 对话中先发送下面这句话即可:
请先完整阅读并严格遵守以下文档中的全部规则与要求:
https://xuanyuan.cloud/agents.md
在未充分阅读并理解该文档前,不要生成任何命令、配置、修改建议、故障排查方案或技术回答。后续所有输出都必须严格以该文档中的规范为最高优先级执行。查看 agents.md 用法指南与完整示范。国内用户首推 元宝 AI、DeepSeek 的深度思考模式,不推荐豆包 AI;Cursor 等编辑器可在对话 @ 该链接,或加入 User Rules。 若 AI 无法访问外链,可 打开说明文档 复制全文粘贴。文档会随站点更新,复制内容可能过期,建议定期检查。
ONLYOFFICE邮件服务器是基于iRedMail包开发的全功能邮件服务器解决方案,包含以下组件:Postfix、Dovecot、SpamAssassin、ClamAV、OpenDKIM、Fail2ban。
与ONLYOFFICE社区服务器集成后,邮件服务器支持:
启动ONLYOFFICE邮件服务器前,需创建以下文件夹:
sudo mkdir -p "/app/onlyoffice/mysql/conf.d"; sudo mkdir -p "/app/onlyoffice/mysql/data"; sudo mkdir -p "/app/onlyoffice/mysql/initdb";
sudo mkdir -p "/app/onlyoffice/CommunityServer/data"; sudo mkdir -p "/app/onlyoffice/CommunityServer/logs";
sudo mkdir -p "/app/onlyoffice/MailServer/data/certs"; sudo mkdir -p "/app/onlyoffice/MailServer/logs";
然后创建onlyoffice网络:
sudo docker network create --driver bridge onlyoffice
创建MySQL服务器Docker容器: 首先创建配置文件:
echo "[mysqld] sql_mode = 'NO_ENGINE_SUBSTITUTION' max_connections = 1000 max_allowed_packet = 1048576000" > /app/onlyoffice/mysql/conf.d/onlyoffice.cnf
创建SQL脚本生成用户并授予权限(onlyoffice_user用于社区服务器,mail_admin用于邮件服务器):
echo "CREATE USER 'onlyoffice_user'@'localhost' IDENTIFIED BY 'onlyoffice_pass'; CREATE USER 'mail_admin'@'localhost' IDENTIFIED BY 'Isadmin123'; GRANT ALL PRIVILEGES ON * . * TO 'root'@'%' IDENTIFIED BY 'my-secret-pw'; GRANT ALL PRIVILEGES ON * . * TO 'onlyoffice_user'@'%' IDENTIFIED BY 'onlyoffice_pass'; GRANT ALL PRIVILEGES ON * . * TO 'mail_admin'@'%' IDENTIFIED BY 'Isadmin123'; FLUSH PRIVILEGES;" > /app/onlyoffice/mysql/initdb/setup.sql
注意:上述脚本允许从任何域名(%)访问SQL服务器,如需限制访问可指定允许的主机。
创建MySQL 5.7容器:
sudo docker run --net onlyoffice -i -t -d --restart=always --name onlyoffice-mysql-server \ -v /app/onlyoffice/mysql/conf.d:/etc/mysql/conf.d \ -v /app/onlyoffice/mysql/data:/var/lib/mysql \ -v /app/onlyoffice/mysql/initdb:/docker-entrypoint-initdb.d \ -e MYSQL_ROOT_PASSWORD=my-secret-pw \ -e MYSQL_DATABASE=onlyoffice \ mysql:5.7
sudo docker run --init --net onlyoffice --privileged -i -t -d --restart=always --name onlyoffice-mail-server -p 25:25 -p 143:143 -p 587:587 \ -e MYSQL_SERVER=onlyoffice-mysql-server \ -e MYSQL_SERVER_PORT=3306 \ -e MYSQL_ROOT_USER=root \ -e MYSQL_ROOT_PASSWD=my-secret-pw \ -e MYSQL_SERVER_DB_NAME=onlyoffice_mailserver \ -v /app/onlyoffice/MailServer/data:/var/vmail \ -v /app/onlyoffice/MailServer/data/certs:/etc/pki/tls/mailserver \ -v /app/onlyoffice/MailServer/logs:/var/log \ -h yourdomain.com \ onlyoffice/mailserver
其中yourdomain.com为您的自定义域名。此时邮件服务器将确保向内部地址(部署在本服务器上)的邮件投递。
为确保向内部和外部服务器地址的邮件投递,需获取自定义域名并配置DNS服务器,需设置以下DNS记录:
bashsudo docker run --privileged -i -t -d -p 25:25 -p 143:143 -p 587:587 \ -v /app/onlyoffice/MailServer/data/certs:/etc/pki/tls/mailserver -h yourdomain.com onlyoffice/mailserver
其中yourdomain.com为您的自定义域名。
运行Docker容器时默认会为您的域名创建自签名证书。如需使用CA认证证书,需在运行镜像前将证书重命名并复制到/app/onlyoffice/MailServer/data/certs目录,需以下文件:
/app/onlyoffice/MailServer/data/certs/mail.onlyoffice.key
/app/onlyoffice/MailServer/data/certs/mail.onlyoffice.crt
/app/onlyoffice/MailServer/data/certs/mail.onlyoffice.ca-bundle
也可在运行镜像后复制证书到该目录,但需重启Docker容器。
可参考docker run命令的--env-file标志,在单个文件中指定所有所需环境变量,避免冗长的命令。
以下是可通过环境变量设置的参数列表:
/var/vmail;mailserver.onlyoffice.com;postmaster@mailserver.onlyoffice.com。所有数据存储在指定目录(数据卷):
/var/log:ONLYOFFICE邮件服务器日志;/var/lib/mysql:MySQL数据库数据;/var/vmail:邮件存储;/etc/pki/tls/mailserver:证书。如需从容器外部访问数据,需挂载卷(通过docker run命令的-v选项):
sudo docker run --privileged -i -t -d -p 25:25 -p 143:143 -p 587:587 \ -v /app/onlyoffice/MailServer/logs:/var/log \ -v /app/onlyoffice/MailServer/mysql:/var/lib/mysql \ -v /app/onlyoffice/MailServer/data:/var/vmail \ -v /app/onlyoffice/MailServer/data/certs:/etc/pki/tls/mailserver -h yourdomain.com onlyoffice/mailserver
将数据存储在主机上可让您在更新ONLYOFFICE版本时不丢失数据。
ONLYOFFICE邮件服务器是ONLYOFFICE社区版的一部分,还包括文档服务器和社区服务器。安装步骤如下:
步骤1:创建onlyoffice网络
bashdocker network create --driver bridge onlyoffice
然后使用docker run --net onlyoffice选项在该网络上启动容器。
步骤2:安装MySQL 参考安装MySQL步骤。
步骤3:安装ONLYOFFICE文档服务器
bashsudo docker run --net onlyoffice -i -t -d --restart=always --name onlyoffice-document-server \ -v /app/onlyoffice/DocumentServer/logs:/var/log/onlyoffice \ -v /app/onlyoffice/DocumentServer/data:/var/www/onlyoffice/Data \ -v /app/onlyoffice/DocumentServer/lib:/var/lib/onlyoffice \ -v /app/onlyoffice/DocumentServer/db:/var/lib/postgresql \ onlyoffice/documentserver
更多信息请参考https://github.com/ONLYOFFICE/Docker-DocumentServer "ONLYOFFICE Document Server documentation"。
步骤4:安装ONLYOFFICE邮件服务器
需指定主机名yourdomain.com:
bashsudo docker run --init --net onlyoffice --privileged -i -t -d --restart=always --name onlyoffice-mail-server -p 25:25 -p 143:143 -p 587:587 \ -e MYSQL_SERVER=onlyoffice-mysql-server \ -e MYSQL_SERVER_PORT=3306 \ -e MYSQL_ROOT_USER=root \ -e MYSQL_ROOT_PASSWD=my-secret-pw \ -e MYSQL_SERVER_DB_NAME=onlyoffice_mailserver \ -v /app/onlyoffice/MailServer/data:/var/vmail \ -v /app/onlyoffice/MailServer/data/certs:/etc/pki/tls/mailserver \ -v /app/onlyoffice/MailServer/logs:/var/log \ -h yourdomain.com \ onlyoffice/mailserver
邮件服务器的额外参数可参考https://github.com/ONLYOFFICE/Docker-CommunityServer/blob/master/docker-compose.yml#L75%E3%80%82
步骤5:安装ONLYOFFICE社区服务器
bashsudo docker run --net onlyoffice -i -t -d --restart=always --name onlyoffice-community-server -p 80:80 -p 443:443 -p 5222:5222 \ -e MYSQL_SERVER_ROOT_PASSWORD=my-secret-pw \ -e MYSQL_SERVER_DB_NAME=onlyoffice \ -e MYSQL_SERVER_HOST=onlyoffice-mysql-server \ -e MYSQL_SERVER_USER=onlyoffice_user \ -e MYSQL_SERVER_PASS=onlyoffice_pass \ -e DOCUMENT_SERVER_PORT_80_TCP_ADDR=onlyoffice-document-server \ -e MAIL_SERVER_API_HOST=${MAIL_SERVER_IP} \ -e MAIL_SERVER_DB_HOST=onlyoffice-mysql-server \ -e MAIL_SERVER_DB_NAME=onlyoffice_mailserver \ -e MAIL_SERVER_DB_PORT=3306 \ -e MAIL_SERVER_DB_USER=root \ -e MAIL_SERVER_DB_PASS=my-secret-pw \ -v /app/onlyoffice/CommunityServer/data:/var/www/onlyoffice/Data \ -v /app/onlyoffice/CommunityServer/logs:/var/log/onlyoffice \ onlyoffice/communityserver
其中${MAIL_SERVER_IP}为ONLYOFFICE邮件服务器的IP地址,可通过以下命令获取:
docker inspect -f '{{range .NetworkSettings.Networks}}{{.IPAddress}}{{end}}' onlyoffice-mail-server
也可使用自动安装脚本一键安装整个ONLYOFFICE社区版(需指定邮件服务器主机名yourdomain.com):
步骤1:下载社区版Docker脚本
bashwget http://download.onlyoffice.com/install/opensource-install.sh
步骤2:执行安装命令
bashbash opensource-install.sh -md yourdomain.com
或使用https://docs.docker.com/compose/install "docker-compose"(需指定邮件服务器主机名yourdomain.com):
bashwget https://raw.githubusercontent.com/ONLYOFFICE/Docker-CommunityServer/master/docker-compose.yml docker-compose up -d
官方网站:https://www.onlyoffice.com/?utm_source=github&utm_medium=cpc&utm_campaign=GitHubDockerMail 许可证:https://raw.githubusercontent.com/ONLYOFFICE/Docker-MailServer/master/LICENSE.txt "View" SaaS版本:https://www.onlyoffice.com/cloud-office.aspx?utm_source=github&utm_medium=cpc&utm_campaign=GitHubDockerMail
如有问题或疑问,请访问官方论坛:http://dev.onlyoffice.org,或在http://stackoverflow.com/questions/tagged/onlyoffice上提问/回答ONLYOFFICE开发相关问题。
您可以使用以下命令拉取该镜像。请将 <标签> 替换为具体的标签版本。如需查看所有可用标签版本,请访问 标签列表页面。
来自真实用户的反馈,见证轩辕镜像的优质服务