ONLYOFFICE 快速部署教程:让你的私有云盘也可以预览和编辑 Office 文档

ONLYOFFICE Docs (原 ONLYOFFICE Document Server) 是一款强大的开源在线办公套件,包含用于文本、电子表格和演示文稿的查看器和编辑器,完全兼容 Office Open XML 格式(.docx、.xlsx、.pptx),并支持实时协作编辑。本文将指导你如何使用 Docker 快速部署 ONLYOFFICE Docs 社区版,轻松搭建自己的在线办公平台。

ONLYOFFICE Docs 简介

ONLYOFFICE Docs 提供类似微软 Office 的在线编辑体验,你可以用它创建和编辑文档、电子表格和演示文稿。它支持实时协作编辑,方便团队协同工作。此外,ONLYOFFICE Docs 还支持丰富的格式,包括 DOC、DOCX、TXT、ODT、RTF、ODP、EPUB、ODS、XLS、XLSX、CSV、PPTX 和 HTML 等。

ONLYOFFICE Docs 可以与 ONLYOFFICE Workspace 集成,也可以与第三方同步和共享解决方案(例如 Nextcloud、ownCloud、Seafile)集成,在其界面内启用文档预览和协作编辑功能。

服务器准备

在开始部署之前,请确保你的系统满足以下最低要求:

  • 内存: 4 GB 或以上
  • CPU: 双核 2 GHz 或以上
  • 交换空间: 至少 2 GB
  • 硬盘空间: 至少 2 GB 可用空间
  • 操作系统: 64 位 Linux 发行版(例如 CentOS、Debian、Ubuntu 等),内核版本 3.8 或更高版本
  • Docker: 版本 1.9.0 或更高版本 (推荐最新版)

Docker 部署教程

1. 运行 Docker 镜像

最简单的部署方式是直接运行 ONLYOFFICE Docs 的 Docker 镜像:

sudo docker run -i -t -d -p 80:80 onlyoffice/documentserver

该命令将在端口 80 上运行 ONLYOFFICE Docs。

2. 数据持久化

为了避免数据丢失,建议将容器内的数据目录挂载到主机目录。以下命令将 ONLYOFFICE Docs 的日志、数据、缓存和数据库目录挂载到主机:

sudo 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/rabbitmq:/var/lib/rabbitmq \
    -v /app/onlyoffice/DocumentServer/redis:/var/lib/redis \
    -v /app/onlyoffice/DocumentServer/db:/var/lib/postgresql  onlyoffice/documentserver

请根据实际情况修改主机目录路径。

3. 端口配置

你可以使用 -p 参数修改 ONLYOFFICE Docs 的端口。例如,要将 ONLYOFFICE Docs 运行在 8080 端口,可以使用以下命令:

sudo docker run -i -t -d -p 8080:80 onlyoffice/documentserver
4. HTTPS 配置

为了提高安全性,建议使用 HTTPS 访问 ONLYOFFICE Docs。 你可以使用 Let’s Encrypt 自动生成和更新证书:

sudo docker run -i -t -d -p 80:80 -p 443:443 \
    -e LETS_ENCRYPT_DOMAIN=your_domain -e LETS_ENCRYPT_MAIL=your_mail  onlyoffice/documentserver

请将 your_domainyour_mail 替换为你的域名和邮箱地址。

你也可以手动生成自签名证书,并将其放置在 /app/onlyoffice/DocumentServer/data/certs/ 目录下。

环境变量

ONLYOFFICE Docs 提供了丰富的环境变量,可以用于自定义配置。以下列举一些常用的环境变量:

环境变量说明默认值
ONLYOFFICE_HTTPS_HSTS_ENABLED是否启用 HSTStrue
SSL_CERTIFICATE_PATHSSL 证书路径/var/www/onlyoffice/Data/certs/tls.crt
SSL_KEY_PATHSSL 密钥路径/var/www/onlyoffice/Data/certs/tls.key
DB_TYPE数据库类型postgres
JWT_ENABLED是否启用 JWT 验证true
JWT_SECRETJWT 密钥随机值

更多环境变量请参考官方文档的 “Available Configuration Parameters” 部分。

集成到 Cloudreve 中

由于 Cloudreve 需要 ONLYOFFICE 开启 WOPI_ENABLED ,可在创建容器时指定 WOPI_ENABLEDtrue 来开启:

docker run -i -t -d -p 8080:80 -e WOPI_ENABLED=true onlyoffice/documentserver

创建好容器后,可以手动访问 http://your_server_ip:8080 查看是否启动完毕。

ONLYOFFICE 启动成功

在 Cloudreve 中设置

Cloudreve 的部署,可以参考我这篇文章 : https://blog.csdn.net/weixin_53510183/article/details/143416437

在 后台 - 参数设置 - 图像与预览 - 文件预览 - WOPI 客户端 中开启 “使用 WOPI” 并在 “WOPI Discovery Endpoint” 中填入 http://<你的服务主机>/hosting/discovery。保存后可在前台测试文档预览和编辑:

Cloudreve 中配置 ONLYOFFICE

集成到 Seafile

Seafile 的部署,可以参考我这篇文章 : https://blog.csdn.net/weixin_53510183/article/details/143625005

正常按照部署教程使用 Docker 部署即可。

设置 OnlyOffice 自动保存

使用 OnlyOffice 打开文件时,OnlyOffice 只会在用户关闭页面后向 Seafile 发送文件保存请求。如果用户长时间未关闭页面,则用户对文件的更改将不会及时保存在 Seafile 上。

您可以通过更改 OnlyOffice 的配置来设置自动保存。

  1. 进入到 onlyoffice/documentserver 容器中;

  2. 打开 OnlyOffice 的配置文件: /etc/onlyoffice/documentserver/local.json

  3. 添加以下配置信息:

    {
        "services": {
            "CoAuthoring": {
                "autoAssembly": {
                    "enable": true,
                    "interval": "5m"
                }
            }
        }
    }
    
  4. 重启 OnlyOffice: supervisorctl restart all

配置 Seafile 服务

添加以下配置信息到 seahub_settings.py

# Enable Only Office
ENABLE_ONLYOFFICE = True
VERIFY_ONLYOFFICE_CERTIFICATE = False
ONLYOFFICE_APIJS_URL = 'http://your_OnlyOffice_server/web-apps/apps/api/documents/api.js'
ONLYOFFICE_FILE_EXTENSION = ('doc', 'docx', 'ppt', 'pptx', 'xls', 'xlsx', 'odt', 'fodt', 'odp', 'fodp', 'ods', 'fods')
ONLYOFFICE_EDIT_FILE_EXTENSION = ('docx', 'pptx', 'xlsx')
ONLYOFFICE_JWT_SECRET = 'your-secret-string'   # 自定义secret

修改 your_OnlyOffice_server 为你自己的 ONLYOFFICE 服务器 IP 或域名。

然后重启 Seafile 和 Seahub 服务:

./seafile.sh restart
./seahub.sh restart

或者:

service seafile-server restart
service seahub restart

最后,当你点击一个文档应该会看到一个新的预览页面。

相关链接
我的博客:https://blog.ivwv.site

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

vvw&

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值