ubuntu server 22.04 使用docker安装 onlyoffice 8.0同时添加中文字体、字号

本文主要介绍在ubuntu server 22.04 系统上使用docker安装onlyoffice 8.0同时添加中文字体、字号方法。

1、硬件要求

CPU:双核2 GHz或更高
内存:最少4GB
硬盘:至少40 GB可用空间
Swap file:至少4 GB,但取决于主机操作系统,越多越好。
操作系统内核:内核版本为3.10或更高版本的amd64 Linux 发行版。
其他要求:
Docker:Docker 团队支持的任何版本

2、DOCKER环境安装

ubuntu安装docker可以参考这篇文章:ubuntu server 22.04 安装docker、docker-compose

3、安装onlyoffice 8.0

创建工作目录:

mkdir -p /data/onlyoffice
mkdir -p /data/onlyoffice/config
cd /data/onlyoffice/
vi docker-compose-oo.yml

这里直接上onlyoffice的docker-compose文件,大家可以参考:

version: "3.7"
services:onlyoffice:# 定义主机名container_name: onlyoffice# 使用的镜像image: onlyoffice/documentserver:8.0.1# 容器的映射端口ports:- 36080:80- 36090:443# 定义挂载点,这里都是一些常用的目录和文件volumes:- /data/onlyoffice/documentserver/logs:/var/log/onlyoffice- /data/onlyoffice/documentserver/data:/var/www/onlyoffice/Data- /data/onlyoffice/documentserver/lib:/var/lib/onlyoffice- /data/onlyoffice/documentserver/db:/var/lib/postgresql# !!!注意:这是onlyoffice的配置目录,第一次启动的时候要注释掉!!!# - /data/onlyoffice/config/documentserver:/etc/onlyoffice/documentserver# docker 重启后,容器自启动restart: "on-failure:10"environment:# 是否启用jwt,不启用,生产环境有条件还是启用的好- JWT_ENABLED=false- JWT_SECRET=secret

启动onlyoffice容器:

docker-compose -f docker-compose-oo.yml up -d

启动后,将容器内目录:/etc/onlyoffice/documentserver 内容拷贝到宿主机的 /data/onlyoffice/config 目录下,方便以后进行onlyoffice的配置修改。执行复制命令:

cd /data/onlyoffice/config/
docker cp onlyoffice:/etc/onlyoffice/documentserver .

将docker-compose-oo.yml文件中的第19行,即下方的这一行的注释取消:

# - /data/onlyoffice/config/documentserver:/etc/onlyoffice/documentserver

修改后保存,然后删除原有容器,重新创建新容器。
重新启动后,查看宿主机配置目录:/data/onlyoffice/config/documentserver,如下图:其中的local.json文件就是我们后期经常用的配置文件,其他文件不需要有改动。

在这里插入图片描述

到此,onlyoffice安装成功,可以访问下地址试试:http://安装主机IP:36080,会打开如下网页:

在这里插入图片描述

如果要体验在线编辑word、excel等,可以执行onlyoffice的demo脚本进行体验,可以按上图中的第一步、第二步在服务器执行onlyoffice的demo脚本命令(直接复制执行即可),执行完成后即可点击按钮进行体验。
注意:使用docker搭建的onlyoffice服务,默认不支持内网ip编辑文件,此时创建文件进行编辑会报错,需要修改local.json配置。

在这里插入图片描述

4、修改配置

onlyoffice默认不支持内网访问,需要修改local.json文件:
注意:rabbitmq、storage配置项不要修改

# 备份原文件
mv local.json local.json.bak
vi local.json

写入新文件内容,如下:

{"services": {"CoAuthoring": {"server": {"savetimeoutdelay": 500},"requestDefaults": {"rejectUnauthorized": false},"sql": {"type": "postgres","dbHost": "localhost","dbPort": "5432","dbName": "onlyoffice","dbUser": "onlyoffice","dbPass": "onlyoffice"},"request-filtering-agent": {"allowPrivateIPAddress": true,"allowMetaIPAddress": true},"autoAssembly": {"enable": true,"interval": "3s"},"token": {"enable": {"request": {"inbox": false,"outbox": false},"browser": false},"inbox": {"header": "Authorization","inBody": false},"outbox": {"header": "Authorization","inBody": false}},"secret": {"inbox": {"string": "secret"},"outbox": {"string": "secret"},"session": {"string": "secret"}}}},"rabbitmq": {"url": "amqp://guest:guest@localhost"},"storage": {"fs": {"secretString": "O7BwzFsUAfBnAIMGBA1O"}},"wopi": {"enable": false,"dummy": {"enable": true,"sampleFilePath": ""}},"FileConverter": {"converter": {"maxDownloadBytes": 524288000,"inputLimits": [{"type": "docx;dotx;docm;dotm","zip": {"uncompressed": "500MB","template": "*.xml"}}]}}
}

保存文件,重启容器,即可访问编辑文件成功。如下图:

在这里插入图片描述

5、添加中文字体

  1. 准备中文字体
    先准备好自己需要安装的字体,可以直接从windows系统C:\Windows\Fonts下选择拷贝,也可以参考这个网址,热心人已经给整理好了,地址:onlyoffice-chinese-fonts
  2. 删除onlyoffice自带字体
    先要进入容器删除onlyoffice原有字体,注意:如果只是添加字体,且想使用原有字体的话那么就不用删除原有字体
# 进入容器
sudo docker exec -it onlyoffice bash 
# 进入容器后执行
cd /usr/share/fonts/
rm -rf *
cd /var/www/onlyoffice/documentserver/core-fonts/
rm -rf *
  1. 添加新字体
    docker cp命令将下载的字体都放到容器内的/usr/share/fonts目录下。
  2. 生成字体
    进入容器,执行命令:/usr/bin/documentserver-generate-allfonts.sh
    等待执行完成,然后退出容器,重启容器即可。
    在这里插入图片描述

6、添加中文字号

注意:onlyoffice 8.0 好像不用添加中文字号,服务已经默认自带中文字号,大家可以打开一个新的文件进行确认下。

  1. 将容器中js文件复制到宿主机
docker cp  onlyoffice:/var/www/onlyoffice/documentserver/web-apps/apps/documenteditor/main/app.js  app.js
  1. 修改js内容,不要用编辑器,使用vim

在app.js中查找{value:8,displayValue:"8"},在前面添加:

{value:42,displayValue:"初号"},{value:36,displayValue:"小初"},{value:26,displayValue:"一号"},{value:24,displayValue:"小一"},{value:22,displayValue:"二号"},{value:18,displayValue:"小二"},{value:16,displayValue:"三号"},{value:15,displayValue:"小三"},{value:14,displayValue:"四号"},{value:12,displayValue:"小四"},{value:10.5,displayValue:"五号"},{value:9,displayValue:"小五"},{value:7.5,displayValue:"六号"},{value:6.5,displayValue:"小六"},{value:5.5,displayValue:"七号"},{value:5,displayValue:"八号"},
  1. 将修改后的js覆盖到容器中,容器中如果有app.js.gz文件的话要删掉它
docker cp app.js onlyoffice:/var/www/onlyoffice/documentserver/web-apps/apps/documenteditor/main/
  1. 本地清缓存刷新即可
    在这里插入图片描述

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/bicheng/13810.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

[GUET-CTF2019]encrypt

我自己大致分析的是输入flag然后先 RC4加密再 base64加密,解了一下发现不对。 那就只能仔细分析了,看有没有魔改 嗯,可以动调试试,嗯就是要找其 key 的值 :0x10,0x20,0x30,0x30,0x20,0x10,0x40 aaaaaaaaaa--->dd…

MobaXterm使用私钥远程登陆linux

秘钥的形式使用MobaXterm 远程连接 linux 服务器 MobaXterm使用私钥远程登陆linux just填写远程主机 不指定用户 勾选使用私钥 选择私钥即可 1.使用秘钥连接 远程linux 服务器的好处 只需要第一次添加秘钥,并输入密码后,以后再连接就不需要再输入密码…

【每日刷题】Day47

【每日刷题】Day47 🥕个人主页:开敲🍉 🔥所属专栏:每日刷题🍍 🌼文章目录🌼 1. 112. 路径总和 - 力扣(LeetCode) 2. 2404. 出现最频繁的偶数元素 - 力扣&am…

ubuntu20.04安装cmake3.22.1

背景 由于第一套上位机windows clion22 嵌入式ubuntu20.04的开发环境中,ubuntu20.04上安装的是cmake3.22.1, 为了保持一致,需要指定安装的cmake版本。 下载指定版本的cmake 进入cmake官网的download页面,https://cmake.org/download/&…

番外篇 | YOLOv8改进之更换主干网络MobileNetv3 + 添加CA注意力机制

前言:Hello大家好,我是小哥谈。MobileNetv3是一种轻量级网络,采用了深度可分离卷积等轻量化技术,具有较小的模型参数量和计算复杂度,适合在计算能力较弱的设备上运行。本节课就让我们结合论文来对YOLOv8进行组合改进(更换主干网络MobileNetv3 + 添加CA注意力机制),希望…

第06章 数据加载、存储与文件格式

以下内容参考自https://github.com/iamseancheney/python_for_data_analysis_2nd_chinese_version/blob/master/%E7%AC%AC05%E7%AB%A0%20pandas%E5%85%A5%E9%97%A8.md 《利用Python进行数据分析第2版》 用以学习和记录。 输入输出通常可以划分为几个大类:读取文本文…

【Linux学习】进程基础API

下面是有关进程基础API的相关介绍,希望对你有所帮助! 小海编程心语录-CSDN博客 目录 1. 僵尸进程与孤儿进程 1.1 孤儿进程 1.2 僵尸进程 2. 监视子进程 2.1 wait() 2.2 waitpid() 3. 执行新程序 exec族函数 4. 守护进程 1. 僵尸进程与孤儿进程…

(5)SK插件

(5)SK插件 什么是AI插件? 使用人工智能插件的目的是通过利用人工智能能力来增强软件应用程序的功能。人工智能插件可以提供各种功能,如自然语言处理、图像识别、预测分析等。 通过将AI插件集成到应用程序中,您可用为…

通过 Spring 操作 Redis

要想通过 Java 操作 redis,首先要连接上 redis 服务器,推荐看通过 Java 操作 redis -- 连接 redis 创建项⽬ 勾选 NoSQL 中的 Spring Data Redis 当然, 把 Web 中的 Spring Web 也勾选⼀下.⽅便写接进⾏后续测试. 配置 redis 服务地址 在 application.…

基于springboot + vue实现工厂车间管理系统项目演示【附项目源码+论文说明】

基于springboot vue实现工厂车间管理系统演示 摘要 社会发展日新月异,用计算机应用实现数据管理功能已经算是很完善的了,但是随着移动互联网的到来,处理信息不再受制于地理位置的限制,处理信息及时高效,备受人们的喜…

springboot+jsp校园理发店美容美发店信息管理系统0h29g

前台管理:会员管理、会员预定、开单点单、收银结帐、技师提成 后台管理:数据维护、物料管理、数据查询、报表分析、系统设置等 灵活的付款方式,支持现金、挂帐、会员卡,同时支持多种折扣方式并可按用户要求设置多种结帐类型善的充值卡管理模块:支持优惠卡…

大创项目推荐 深度学习手势识别 - yolo python opencv cnn 机器视觉

文章目录 0 前言1 课题背景2 卷积神经网络2.1卷积层2.2 池化层2.3 激活函数2.4 全连接层2.5 使用tensorflow中keras模块实现卷积神经网络 3 YOLOV53.1 网络架构图3.2 输入端3.3 基准网络3.4 Neck网络3.5 Head输出层 4 数据集准备4.1 数据标注简介4.2 数据保存 5 模型训练5.1 修…

某东-绑卡

声明 本文章中所有内容仅供学习交流使用,不用于其他任何目的,抓包内容、敏感网址、数据接口等均已做脱敏处理,严禁用于商业用途和非法用途,否则由此产生的一切后果均与作者无关!wx a15018601872 本文章未…

Qt5 互动地图,实现无人机地面站效果

一、概述 本文主要通过Qt5opmapcontrol实现一个简单的无人机地面站效果。opmapcontrol是一个比较古老的QT开源地面站库,可选择谷歌地图,必应地图, 雅虎地图,GIS等。可直接使用源码,也可以编译生成库进行调用。实现效果…

Mujoco仿真【xml文件的学习 2】

承接上一篇的博客&#xff1a;Mujoco仿真【xml文件的学习 1】-CSDN博客 我们继续来学习Mujoco仿真中的xml文件&#xff0c;哦豁&#xff0c;gogogo&#xff01; 给出这次的xml文件案例【bimanual_viperx_transfer_cube.xml】&#xff1a; <mujoco><include file&qu…

LitCTF

[LitCTF 2023]enbase64 base 64 里面有一个换表的函数 写代码 #include<stdio.h> #include<string.h> #include<stdlib.h> int main() {char *result; char Destination[65]; int v3[65];int j;int i; char Source[]"ABCDEFGHIJKLMNOPQRSTUVWXYZabcde…

打造高效安全新标杆:智慧楼宇视频智能管理系统的建设探索

大数据、人工智能、5G等技术在城市中的不同应用也让人们看到了数字化和智能化技术赋予城市管理的巨大潜力&#xff0c;为更多城市数字化应用场景的发展带来机遇。在新基建的大背景下&#xff0c;人工智能、物联网等先进技术与基础设施的深度融合&#xff0c;将大力推进电网、楼…

ArcGIS批量更改所有符号的格式

这期谈一下&#xff0c;如何修改所有符号的样式。 比如&#xff0c;我们需要更改下图的面符号位无轮廓的 该如何批量修改的呢&#xff1f; 视频教学吧&#xff1a; ArcGIS批量更改所有符号的格式 ArcGIS全系列实战视频教程——9个单一课程组合系列直播回放-CSDN博客文章浏览阅…

el-input 自动获取焦点

前言&#xff1a; 需求描述&#xff1a;在 Dialog 对话框中 使用 input 组件&#xff1b;当点击按钮&#xff0c;Dialog 对话框显示&#xff0c;且里面的 input 组件要自动获取焦点。因为页面上还存在其他的 input 组件&#xff0c;所以使用 自动获取焦点属性没用&#xff01;&…

基于Java的推箱子游戏设计与实现(论文 + 源码)

【免费】关于基于JAVA的推箱子游戏.zip资源-CSDN文库https://download.csdn.net/download/JW_559/89325018 基于Java的推箱子游戏设计与实现 摘 要 社会在进步&#xff0c;人们生活质量也在日益提高。高强度的压力也接踵而来。社会中急需出现新的有效方式来缓解人们的压力。…