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。

相关推荐
柳鲲鹏21 分钟前
WINDOWS最快布署WEB服务器:apache2
服务器·前端·windows
IT_10241 小时前
Spring Boot项目开发实战销售管理系统——系统设计!
大数据·spring boot·后端
ai小鬼头2 小时前
AIStarter最新版怎么卸载AI项目?一键删除操作指南(附路径设置技巧)
前端·后端·github
Touper.2 小时前
SpringBoot -- 自动配置原理
java·spring boot·后端
一只叫煤球的猫2 小时前
普通程序员,从开发到管理岗,为什么我越升职越痛苦?
前端·后端·全栈
一只鹿鹿鹿3 小时前
信息化项目验收,软件工程评审和检查表单
大数据·人工智能·后端·智慧城市·软件工程
无敌暴龙兽z3 小时前
离线环境安装elk及设置密码认证
运维·elk
好奇的菜鸟3 小时前
如何在 Ubuntu 24.04 (Noble) 上使用阿里源
linux·运维·ubuntu
专注VB编程开发20年3 小时前
开机自动后台运行,在Windows服务中托管ASP.NET Core
windows·后端·asp.net
程序员岳焱3 小时前
Java 与 MySQL 性能优化:MySQL全文检索查询优化实践
后端·mysql·性能优化