Docker 部署 OnlyOffice 文档服务器

Docker 部署 OnlyOffice 文档服务器

  • 前言
  • 一、准备工作
  • 二、设置变量和目录结构
  • 三、创建并运行 OnlyOffice 容器
  • 四、访问 OnlyOffice 文档服务器
  • 五、配置和管理
  • 总结

前言

OnlyOffice 是一个强大的开源文档编辑平台,支持文档、表格、演示文稿等文件格式的编辑。通过 Docker 部署 OnlyOffice 文档服务器,可以简化安装过程并快速实现文档管理和编辑功能。本文将展示如何使用 Docker 部署 OnlyOffice 文档服务器,并对相关配置进行详细说明。


一、准备工作

首先,确保你的系统上已经安装了 Docker。

Linux上进行Docker安装有两种方式:

  1. Docker自动化安装
  2. Docker手动安装

可以根据该文章的步骤进行安装:https://blog.csdn.net/weixin_44876263/article/details/136714078?spm=1001.2014.3001.5502

二、设置变量和目录结构

在部署 OnlyOffice 之前,首先设置一些变量,并创建必要的目录结构以存储 OnlyOffice 的数据和配置。

bash 复制代码
# 获取传递的参数
DIR="/opt/docker/demo"
DOCKER_NAME="onlyoffice"
JWT_SECRET="xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx"
  • DIR="/opt/docker/demo":设置存储 OnlyOffice 数据的目录路径。
  • DOCKER_NAME="onlyoffice":设置 Docker 容器的名称。
  • JWT_SECRET:设置 JWT 密钥,用于进行身份验证。

三、创建并运行 OnlyOffice 容器

通过 Docker 启动 OnlyOffice 文档服务器容器。容器的配置包括端口映射、环境变量设置、以及挂载本地目录到容器内,以确保数据和日志的持久化。

bash 复制代码
docker run -i -t -d --name $DOCKER_NAME --restart=always \
  -p 8055:80 \
  -e TZ="Asia/Shanghai" \
  -e JWT_SECRET=$JWT_SECRET \
  -v $DIR/onlyofficeData/onlyoffice2/logs:/var/log/onlyoffice \
  -v $DIR/onlyofficeData/onlyoffice2/data:/var/www/onlyoffice/Data \
  -v $DIR/onlyofficeData/onlyoffice2/lib:/var/lib/onlyoffice \
  -v $DIR/onlyofficeData/onlyoffice2/db:/var/lib/postgresql \
  -v $DIR/onlyofficeData/onlyoffice2/fonts:/usr/share/fonts/truetype \
  onlyoffice/documentserver-de:7.5

解释命令:

  • -i -t -d:启动容器并以分离模式(后台)运行。
  • --name $DOCKER_NAME:设置容器的名称为 onlyoffice
  • --restart=always:容器重启策略,确保容器崩溃后会自动重启。
  • -p 8052:80:将宿主机的 8052 端口映射到容器内的 80 端口,允许你通过访问 http://<your-server-ip>:8052 来访问 OnlyOffice。
  • -e TZ="Asia/Shanghai":设置容器的时区为 Asia/Shanghai,确保日志和时间设置符合中国时区。
  • -e JWT_SECRET=$JWT_SECRET:设置 JWT 密钥,以便进行身份验证。
  • -v $DIR/onlyofficeData/onlyoffice2/logs:/var/log/onlyoffice:将宿主机的日志目录映射到容器内,确保容器的日志数据持久化。
  • -v $DIR/onlyofficeData/onlyoffice2/data:/var/www/onlyoffice/Data:将宿主机的文件目录映射到容器内,存储 OnlyOffice 的应用数据。
  • -v $DIR/onlyofficeData/onlyoffice2/lib:/var/lib/onlyoffice:挂载宿主机的库文件目录,容器内部需要的库文件。
  • -v $DIR/onlyofficeData/onlyoffice2/db:/var/lib/postgresql:挂载宿主机的数据库目录,容器内使用的 PostgreSQL 数据库数据。
  • -v $DIR/onlyofficeData/onlyoffice2/fonts:/usr/share/fonts/truetype:将宿主机的字体文件目录挂载到容器内,确保文档的显示没有问题。

映射目录:

  • 日志:将容器内的日志映射到宿主机,以便查看容器运行时的错误或调试信息。
  • 数据:将容器内的数据存储目录映射到宿主机,确保数据不会丢失。
  • 库文件和数据库:存储 OnlyOffice 和 PostgreSQL 数据,保证容器崩溃后数据仍然保留。
  • 字体:映射字体文件,确保容器内能够正常显示文本。

四、访问 OnlyOffice 文档服务器

部署完成后,你可以通过浏览器访问 OnlyOffice 文档服务器,地址如下:

bash 复制代码
http://<your-server-ip>:8055

五、配置和管理

  • JWT 密钥JWT_SECRET 是用来对请求进行身份验证的密钥。你可以自定义这个密钥,也可以选择生成一个强随机的密钥来提高安全性。
  • 时区设置-e TZ="Asia/Shanghai" 设置时区为上海(中国标准时间),如果你在其他时区,可以修改为相应的时区。
  • 数据存储 :确保宿主机的 onlyofficeData 目录有足够的存储空间,因为 OnlyOffice 会生成大量的文档和日志数据。

总结

通过 Docker 部署 OnlyOffice 文档服务器,能够快速搭建文档编辑平台,提供在线文档编辑、协作和管理功能。本文介绍了如何通过简单的 Docker 命令来配置容器,并确保数据的持久化存储。你可以通过修改环境变量和挂载不同的目录来灵活配置 OnlyOffice。

相关推荐
RainCity21 小时前
Java Swing 自定义组件库分享(五)
java·笔记·后端
AC赳赳老秦21 小时前
文案策划提效:OpenClaw批量生成活动文案、宣传海报配文,适配不同渠道调性
java·大数据·服务器·人工智能·python·deepseek·openclaw
wangjialelele21 小时前
Linux SystemV 消息队列 + 责任链模式:实现客户端消息处理流水线
linux·服务器·c语言·网络·c++·责任链模式
|_⊙21 小时前
Linux 深入理解文件(Ext2文件系统:下)
linux·服务器·数据库
dualven_in_csdn21 小时前
【网络】ip转发
linux·服务器·网络
袁小皮皮不皮21 小时前
HCIP-BFD 学习笔记
运维·服务器·网络·笔记·网络协议·学习·智能路由器
xlq2232221 小时前
54.序列化和反序列化
服务器·网络·网络协议·tcp/ip
恋奴娇21 小时前
ubuntu 25 gnome-screenshot 录屏启动失败 原因pipewire服务未启动
linux·运维·ubuntu
Zhu75821 小时前
[配置管理]k8s集群中airflow的端口转发
云原生·容器·kubernetes
JiaWen技术圈21 小时前
后端无状态鉴权 JWT 或 OAuth2 及其区别与实现
服务器·网络·网络协议