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。

相关推荐
天狼12221 小时前
第5章-1 优化服务器设置
运维·服务器·adb
Magnum Lehar3 小时前
ApophisZerg游戏引擎项目目录展示
人工智能·vscode·编辑器·游戏引擎
浪裡遊3 小时前
Linux常用指令
linux·运维·服务器·chrome·功能测试
言之。3 小时前
别学了,打会王者吧
java·python·mysql·容器·spark·php·html5
SugarPPig4 小时前
PowerShell 查询及刷新环境变量
服务器
yu4106214 小时前
Rust 语言使用场景分析
开发语言·后端·rust
细心的莽夫4 小时前
SpringCloud 微服务复习笔记
java·spring boot·笔记·后端·spring·spring cloud·微服务
jack_xu6 小时前
高频面试题:如何保证数据库和es数据一致性
后端·mysql·elasticsearch
pwzs6 小时前
Java 中 String 转 Integer 的方法与底层原理详解
java·后端·基础