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。

相关推荐
终端行者几秒前
k8s使用containerd作为容器运行时配置Harbor私有仓库与阿里云私有仓库以及镜像加速器,k8s基于containerd如何配置harbor私有仓库
阿里云·容器·kubernetes
昵称为空C29 分钟前
局域网内dns服务器dnsmasq服务搭建
docker·dns
蛊明1 小时前
VMware安装CentOS 10
linux·运维·centos
总是学不会.2 小时前
EasyExcel 使用指南:基础操作与常见问题
java·开发语言·数据库·后端·mysql
️○-2 小时前
后端之JPA(EntityGraph+JsonView)
java·数据库·后端·数据库架构
m0_748240912 小时前
Docker部署Spring Boot + Vue项目
vue.js·spring boot·docker
461K.2 小时前
linux 编辑器
java·linux·运维·服务器·ide·scala·intellij-idea
2401_846535952 小时前
Vi 编辑器基本使用指南
编辑器
疯狂小伟哥2 小时前
文件上传-Windows点空格点绕过
java·docker·容器
厦门德仔2 小时前
【Docker】如何在Linux、Windows、MacOS中安装Docker
linux·macos·docker