跳到主要内容

OnlyOffice 挂载字体包

一、创建字体包目录​

  1. 在服务器上创建字体包目录并上传字体包

    mkdir -p /data/mingdao/script/volume/doc/font-packages
    • 字体包存放到 /data/mingdao/script/volume/doc/font-packages 目录下

二、配置步骤​

基于 HAP 单机环境配置​

  1. vim /data/mingdao/script/docker-compose.yaml 新增挂载 - ./volume/doc/font-packages/:/usr/share/fonts/font-packages/

    services:
    doc:
    image: registry.cn-hangzhou.aliyuncs.com/mdpublic/mingdaoyun-doc:2.0.0
    command: ["/bin/sh", "-c", "mkfontscale && mkfontdir && fc-cache -fv && exec /app/ds/run-document-server.sh"] # 新增
    volumes: # 新增
    - ./volume/doc/font-packages/:/usr/share/fonts/font-packages/ # 新增
  2. 然后重启 OnlyOffice 服务使之生效

    管理器目录下执行重启命令

    bash ./service.sh restartall

基于 Docker 独立部署 OnlyOffice 服务​

  1. vim doc.yaml 新增挂载 - /data/mingdao/script/volume/doc/font-packages/:/usr/share/fonts/font-packages/

    version: '3'

    services:
    doc:
    image: registry.cn-hangzhou.aliyuncs.com/mdpublic/mingdaoyun-doc:2.0.0
    command: ["/bin/sh", "-c", "mkfontscale && mkfontdir && fc-cache -fv && exec /app/ds/run-document-server.sh"] # 新增
    volumes: # 新增
    - /data/mingdao/script/volume/doc/font-packages/:/usr/share/fonts/font-packages/ # 新增
  2. 然后重启 OnlyOffice 服务使之生效

    doc.yaml 所在目录下执行重启命令

    docker stack deploy -c doc.yaml doc

基于 Kubernetes 部署 OnlyOffice 服务​

注意:创建字体包目录 这一步骤,微服务每个节点都要操作并上传字体包

  1. 修改 doc Deployment 的挂载配置,采用 hostPath 方式挂载

    apiVersion: apps/v1
    kind: Deployment
    metadata:
    name: doc
    namespace: default
    spec:
    replicas: 1
    selector:
    matchLabels:
    app: doc
    version: default
    template:
    metadata:
    labels:
    app: doc
    version: default
    annotations:
    md-update: "20230703103126"
    spec:
    containers:
    - name: doc
    image: registry.cn-hangzhou.aliyuncs.com/mdpublic/mingdaoyun-doc:2.0.0
    command: ["/bin/bash", "-c"] # 新增
    args: ["mkfontscale && mkfontdir && fc-cache -fv && exec /app/ds/run-document-server.sh"] # 新增
    env:
    - name: ENV_FILE_INNER_URI
    value: "www:8880"
    resources:
    limits:
    cpu: "4"
    memory: 2048Mi
    requests:
    cpu: "0.01"
    memory: 64Mi
    readinessProbe:
    tcpSocket:
    port: 8000
    initialDelaySeconds: 10
    periodSeconds: 10
    livenessProbe:
    tcpSocket:
    port: 8000
    initialDelaySeconds: 180
    periodSeconds: 10
    volumeMounts: # 新增
    - name: font-packages # 新增
    mountPath: /usr/share/fonts/font-packages/ # 新增
    volumes: # 新增
    - name: font-packages # 新增
    hostPath: # 新增
    path: /data/mingdao/script/volume/doc/font-packages/ # 新增
  2. 然后重启 OnlyOffice 服务使之生效

    service.yaml 所在目录下执行重启命令

    kubectl apply -f service.yaml

    # 检查等pod启动完成
    kubectl get pods |grep doc

    # 如果ldoc没重启,可以手动滚动重启下
    kubectl rollout restart deploy doc