Docker 部署 OnlyOffice 文档服务器

发布于:2025-02-26 ⋅ 阅读:(27) ⋅ 点赞:(0)

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 的数据和配置。

# 获取传递的参数
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 文档服务器容器。容器的配置包括端口映射、环境变量设置、以及挂载本地目录到容器内,以确保数据和日志的持久化。

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 文档服务器,地址如下:

http://<your-server-ip>:8055

五、配置和管理

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

总结

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