Docker 部署 OnlyOffice 文档服务器
- 前言
 - 一、准备工作
 - 二、设置变量和目录结构
 - 三、创建并运行 OnlyOffice 容器
 - 四、访问 OnlyOffice 文档服务器
 - 五、配置和管理
 - 总结
 
前言
OnlyOffice 是一个强大的开源文档编辑平台,支持文档、表格、演示文稿等文件格式的编辑。通过 Docker 部署 OnlyOffice 文档服务器,可以简化安装过程并快速实现文档管理和编辑功能。本文将展示如何使用 Docker 部署 OnlyOffice 文档服务器,并对相关配置进行详细说明。
一、准备工作
首先,确保你的系统上已经安装了 Docker。
Linux上进行Docker安装有两种方式:
- Docker自动化安装
 - 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。