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。