目 录CONTENT

文章目录

Docker搭建OnlyOffice并接入openlist/alist实现在线文档预览

yyzq
2025-06-21 / 0 评论 / 2 点赞 / 71 阅读 / 1,528 字

前言

OnlyOffice 是一款开源的在线办公套件,遵循 AGPL 3.0 许可证,支持文档、表格和演示文稿以及PDF格式的在线查看以及编辑功能,兼容 Microsoft Office 和 OpenDocument 格式。它常用于私有化部署,实现企业级的文档协作功能。
image-1750510581901
本文将介绍如何通过 Docker 快速部署 OnlyOffice,并结合 OpenList 或 AList,实现本地或云端文件的在线预览,打造高效便捷的文件管理与办公平台。
关于nextcloud网盘-配合onlyoffice使用可以参考之前的教程
最近飞牛官方也支持在线的文档预览功能,其使用的就是基于OnlyOffice的方案
image-1750510424542
image-1750510377755

界面

以下是openlist接入OnlyOffice的一些文档预览

Word

image-1750510768037

Exlce

image-1750510811613

PPT

image-1750510864219

PDF

image-1750510915938

部署方法

使用Docker安装
本教程使用docker和docker-compose的方式安装部署

准备条件

1)一台服务器

我们使用VPS来演示
需要vps的可以看以下信息
莱卡云官网

2)本项目使用到的github

https://github.com/ONLYOFFICE/DocumentServer
image-1750511618407
目前已经5.5kstars
了解更多可以访问GitHub

3)域名(可选)

域名可以根据自己的需求绑定,
注意如果使用域名的话openlist和onlyoffice都要使用域名加证书
不然openlist中需要全屏才能预览文件

4) 配置文件

先提前下载好配置文件后面会用到-验证码78sg
附件下载完解压是2个配置文件
image-1750512335493

《vps上搭建》

一、Docker环境部署

在vps安装docker和docker-compose
Docker官方安装文档(英文)
https://duan.yyzq.eu.org/docker-001
Docker-Compose官方安装文档(英文)
https://duan.yyzq.eu.org/docker-002
Centos安装Docker和Docker-compose(中文)
https://duan.yyzq.eu.org//03
Ubuntu安装Docker和Docker-compose(中文)
https://duan.yyzq.eu.org//04

推荐直接用一键脚本

docker安装脚本

bash <(curl -sSL https://cdn.jsdelivr.net/gh/SuperManito/LinuxMirrors@main/DockerInstallation.sh)

docker-compose安装脚本

curl -L "https://github.com/docker/compose/releases/latest/download/docker-compose-$(uname -s)-$(uname -m)" -o /usr/local/bin/docker-compose && chmod +x /usr/local/bin/docker-compose

二、创建docker-compose.yml文件

mkdir onlyoffice;cd onlyoffice#创建一个目录,并进入此目录
mkdir html  #再创建一个目录

然后将刚才下载好的view.html文件里面的ip和端口改为自己onlyoffice的ip和端口之后,
image-1750512794293
在将此文件放入此目录
image-1750512733467

然后再进入到刚才创建好的onlyoffice目录
将nginx.conf文件直接放入此目录
即可
image-1750512980173

然后再新建docker-compose.yml

vim docker-compose.yml
services:  # 定义所有服务

  onlyoffice:  # 服务名称:onlyoffice
    image: onlyoffice/documentserver:latest  # 使用 ONLYOFFICE 官方文档服务镜像,latest 表示最新版本
    container_name: oo  # 设置容器名称为 oo
    restart: always  # 设置容器异常退出时自动重启
    ports:
      - "8123:80"  # 映射宿主机8123端口到容器的80端口,供外部访问
    volumes:
      - ./onlyoffice/logs:/var/log/onlyoffice  # 映射日志目录,方便查看和持久化日志
      - ./onlyoffice/data:/var/www/onlyoffice/Data  # 映射数据目录,保存用户文档数据等
      - ./onlyoffice/lib:/var/lib/onlyoffice  # 映射ONLYOFFICE内部使用的数据目录
      - ./onlyoffice/db:/var/lib/postgresql  # 映射PostgreSQL数据库数据目录,防止数据丢失
    environment:
      - JWT_ENABLED=false  # 是否启用JWT鉴权,false表示关闭,true表示开启(建议生产环境开启)
      - JWT_SECRET=mysecret  # 设置JWT密钥,仅在开启鉴权(JWT_ENABLED=true)时有效,建议使用强随机值

  nginx:  # 定义 nginx 服务
    image: nginx:latest  # 使用最新版本的 Nginx 镜像
    container_name: nginx_server  # 容器名称
    ports:
      - "8080:80"  # 映射宿主机端口 8080 到容器的 80 端口
    volumes:
      - ./html:/usr/share/nginx/html  # 将本地 html 目录挂载到 Nginx 默认网页目录
      - ./nginx.conf:/etc/nginx/nginx.conf  # 使用本地配置文件覆盖默认配置(可选)
    restart: always  # 容器退出后自动重启

三、执行容器运行命令

docker-compose up -d #运行容器
docker-compose ps  #查看是否开启成功

正常启动如下所示

docker-compose ps
NAME           IMAGE                              COMMAND                  SERVICE      CREATED        STATUS        PORTS
nginx_server   nginx:latest                       "/docker-entrypoint.…"   nginx        18 hours ago   Up 18 hours   0.0.0.0:8080->80/tcp, [::]:8080->80/tcp
oo             onlyoffice/documentserver:latest   "/app/ds/run-documen…"   onlyoffice   18 hours ago   Up 18 hours   443/tcp, 0.0.0.0:8123->80/tcp, [::]:8123->80/tcp

此时正常启动2个容器一个nginx一个onlyoffice

四、打开web页面使用

成功以后需要打开自己相应的端口(防火墙就可以web端访问了
打开自己VPS的ip加端口在加路径就可进入初始化页面

4.1onlyoffice服务

http://ip:8123

image-1750513242165
显示这样就是正常的

4.2Nginx服务

http://ip:8080

image-1750513265657
显示403没问题

五、在openlist或者alist配置

我们依次打开-设置-预览-Iframe 预览
image-1750513379735

{
	"doc,docx,xls,xlsx,ppt,pptx": {
                "OnlyOffice":"http://192.253.238.40:8080/view.html?src=$e_url",
		"Microsoft":"https://view.officeapps.live.com/op/view.aspx?src=$e_url",
		"Google":"https://docs.google.com/gview?url=$e_url&embedded=true"
	},
	"pdf": {
                 "OnlyOffice":"http://192.253.238.40:8080/view.html?src=$e_url",
		"PDF.js":"https://alist-org.github.io/pdf.js/web/viewer.html?file=$e_url"
	},
	"epub": {
		"EPUB.js":"https://alist-org.github.io/static/epub.js/viewer.html?url=$e_url"
	}
}

doc,docx,xls,xlsx,ppt,pptx和pdf中分别
添加以下代码保存即可(ip和端口为自己部署的nginx服务的ip和端口)

"OnlyOffice":"http://192.253.238.40:8080/view.html?src=$e_url",

六、绑定域名

如需绑定域名的自行绑定
绑定域名可以参考
NginxProxyManager
https://duan.yyzq.eu.org//npm-ch
绑定完域名配置好证书就可以用域名来访问了

有任何问题可以直接留言或者问我
有任何问题可以直接留言或者问我
有任何问题可以直接留言或者问我

欢迎关注我们的微信公众号!
微信公众号

2

评论区