ONLYOFFICE Document Server是一个在线办公套件,包含文本、电子表格和演示文稿的查看器和编辑器,完全兼容Office Open XML格式(.docx、.xlsx、.pptx),并支持实时协作编辑。
将其与ONLYOFFICE Community Server集成后,您将能够:
bashsudo docker run -i -t -d -p 80:80 onlyoffice/documentserver
如果您希望单独安装ONLYOFFICE Document Server,请使用此命令。要安装与Community Server和Mail Server集成的ONLYOFFICE Document Server,请参考下面的相应说明。
所有数据都存储在专门指定的目录(数据卷)中,位置如下:
要从容器外部访问数据,需要挂载这些卷。可通过在docker run命令中指定-v选项来实现。
bashsudo docker run -i -t -d -p 80:80 \ -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
通常,您不需要存储容器数据,因为容器的运行不依赖于其状态。保存数据在以下情况有用:
要更改端口,请使用-p命令。例如:要通过8080端口访问门户,执行以下命令:
bashsudo docker run -i -t -d -p 8080:80 onlyoffice/documentserver
bashsudo docker run -i -t -d -p 443:443 \ -v /app/onlyoffice/DocumentServer/data:/var/www/onlyoffice/Data onlyoffice/documentserver
可以使用SSL保护对onlyoffice应用的访问,以防止未授权访问。虽然CA认证的SSL证书允许通过CA验证信任,但自签名证书也可以提供同等级别的信任验证,只要每个客户端采取一些额外步骤来验证您网站的身份。以下是实现此目的的说明。
要通过SSL保护应用,基本上需要两件事:
因此,您需要创建并安装以下文件:
/app/onlyoffice/DocumentServer/data/certs/onlyoffice.key /app/onlyoffice/DocumentServer/data/certs/onlyoffice.crt
如果使用CA认证的证书,这些文件由CA提供。如果使用自签名证书,则需要自己生成这些文件。如果您有CA认证的SSL证书,请跳过以下部分。
生成自签名证书
生成自签名SSL证书涉及简单的3步过程。
步骤1:创建服务器私钥
bashopenssl genrsa -out onlyoffice.key 2048
步骤2:创建证书签名请求(CSR)
bashopenssl req -new -key onlyoffice.key -out onlyoffice.csr
步骤3:使用私钥和CSR签名证书
bashopenssl x509 -req -days 365 -in onlyoffice.csr -signkey onlyoffice.key -out onlyoffice.crt
现在您已生成有效期为365天的SSL证书。
加强服务器安全性
本节提供加强服务器安全性的说明。 要实现此目的,您需要生成更强的DHE参数。
bashopenssl dhparam -out dhparam.pem 2048
SSL证书安装
在上面生成的四个文件中,您需要在onlyoffice服务器上安装onlyoffice.key、onlyoffice.crt和dhparam.pem文件。CSR文件不需要,但请确保安全备份该文件(以防将来需要)。
onlyoffice应用配置的SSL证书默认查找路径为/var/www/onlyoffice/Data/certs,但可以使用SSL_KEY_PATH、SSL_CERTIFICATE_PATH和SSL_DHPARAM_PATH配置选项更改。
/var/www/onlyoffice/Data/路径是数据存储的路径,这意味着您必须在/app/onlyoffice/DocumentServer/data/内创建一个名为certs的文件夹,并将文件复制到其中,作为安全措施,您需要将onlyoffice.key文件的权限更新为仅所有者可读取。
bashmkdir -p /app/onlyoffice/DocumentServer/data/certs cp onlyoffice.key /app/onlyoffice/DocumentServer/data/certs/ cp onlyoffice.crt /app/onlyoffice/DocumentServer/data/certs/ cp dhparam.pem /app/onlyoffice/DocumentServer/data/certs/ chmod 400 /app/onlyoffice/DocumentServer/data/certs/onlyoffice.key
现在,您距离保护应用仅一步之遥。
可用配置参数
请参考docker run命令的--env-file标志,您可以在单个文件中指定所有所需的环境变量。这将避免编写可能很长的docker run命令。
以下是可使用环境变量设置的完整参数列表。
true。31536000。/var/www/onlyoffice/Data/certs/onlyoffice.crt。/var/www/onlyoffice/Data/certs/onlyoffice.key。/var/www/onlyoffice/Data/certs/dhparam.pem。CA_CERTIFICATES_PATH文件启用客户端证书验证。默认为false。false。secret。Authorization。ONLYOFFICE Document Server是ONLYOFFICE Community Edition的一部分,后者还包括Community Server和Mail Server。要安装它们,请按照以下简单步骤操作:
步骤1:创建onlyoffice网络。
bashdocker network create --driver bridge onlyoffice
然后使用docker run --net onlyoffice选项在其上启动容器:
步骤2:安装MySQL。
按照这些步骤安装MySQL服务器。
步骤3:安装ONLYOFFICE Document Server。
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
步骤4:安装ONLYOFFICE Mail Server。
为使邮件服务器正常工作,您需要指定其主机名“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%E6%89%BE%E5%88%B0%E3%80%82
要了解更多信息,请参考https://github.com/ONLYOFFICE/Docker-MailServer "ONLYOFFICE Mail Server documentation"。
步骤5:安装ONLYOFFICE Community Server
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 Mail Server的IP地址。您可以使用以下命令轻松获取:
docker inspect -f '{{range .NetworkSettings.Networks}}{{.IPAddress}}{{end}}' onlyoffice-mail-server
或者,您可以使用自动安装脚本来一次性安装整个ONLYOFFICE Community Edition。为使邮件服务器正常工作,您需要指定其主机名“yourdomain.com”。
步骤1:下载Community Edition Docker脚本文件
bashwget http://download.onlyoffice.com/install/opensource-install.sh
步骤2:执行以下命令安装ONLYOFFICE Community Edition:
bashbash opensource-install.sh -md yourdomain.com
或者,使用docker-compose。为使邮件服务器正常工作,您需要指定其主机名“yourdomain.com”。假设您已安装docker-compose,执行以下命令:
bashwget https://raw.githubusercontent.com/ONLYOFFICE/Docker-CommunityServer/master/docker-compose.yml docker-compose up -d
作为一个相对较新的项目,Docker正在由其社区进行积极开发。因此,建议使用最新版本的Docker,因为您遇到的问题可能已在较新的Docker版本中修复。
在基于rpm的发行版上,ONLYOFFICE Document Server已知的Docker问题是,有时进程无法在Docker容器内启动。Fedora和RHEL/CentOS用户应尝试使用setenforce 0禁用selinux。如果这解决了问题,您可以选择保持SELinux禁用(RedHat不推荐),或切换到使用Ubuntu。
官方网站:[***]
代码仓库:https://github.com/ONLYOFFICE/DocumentServer "https://github.com/ONLYOFFICE/DocumentServer"
Docker镜像:https://github.com/ONLYOFFICE/Docker-DocumentServer "https://github.com/ONLYOFFICE/Docker-DocumentServer"
许可证:GNU AGPL v3.0
SaaS版本:[***]
如果您对此镜像有任何问题或疑问,请访问我们的官方论坛获取答案:dev.onlyoffice.org,或者您可以在Stack Overflow上提问和回答ONLYOFFICE开发相关问题。
您可以使用以下命令拉取该镜像。请将 <标签> 替换为具体的标签版本。如需查看所有可用标签版本,请访问 标签列表页面。
探索更多轩辕镜像的使用方法,找到最适合您系统的配置方式
通过 Docker 登录认证访问私有仓库
无需登录使用专属域名
Kubernetes 集群配置 Containerd
K3s 轻量级 Kubernetes 镜像加速
VS Code Dev Containers 配置
Podman 容器引擎配置
HPC 科学计算容器配置
ghcr、Quay、nvcr 等镜像仓库
Harbor Proxy Repository 对接专属域名
Portainer Registries 加速拉取
Nexus3 Docker Proxy 内网缓存
需要其他帮助?请查看我们的 常见问题Docker 镜像访问常见问题解答 或 提交工单
docker search 限制
站内搜不到镜像
离线 save/load
插件要用 plugin install
WSL 拉取慢
安全与 digest
新手拉取配置
镜像合规机制
不支持 push
manifest unknown
no matching manifest(架构)
invalid tar header(解压)
TLS 证书失败
DNS 超时
域名连通性排查
410 Gone 排查
402 与流量用尽
401 认证失败
429 限流
D-Bus 凭证提示
413 与超大单层
来自真实用户的反馈,见证轩辕镜像的优质服务