メインコンテンツへ移動

LibreOffice用フォントパッケージのマウント

I. フォントパッケージ用ディレクトリの作成​

  1. サーバー上でフォントパッケージ用ディレクトリを作成し、フォントパッケージをアップロードします。
mkdir -p /data/hap/script/volume/ldoc/font-packages
  • フォントパッケージは /data/hap/script/volume/ldoc/font-packages ディレクトリに保存してください。

II. 設定手順​

HAP単体環境での設定​

  1. vim /data/hap/script/docker-compose.yaml を使用し、マウント情報 - ./volume/ldoc/font-packages/:/usr/share/fonts/font-packages/ を追加します。
    services:
    app:
    image: nocoly/hap:7.5.1
    environment:
    ENV_DOCPREVIRE_EXT_ENDPOINTS: "ldoc:8000"

    ldoc:
    image: nocoly/ldoc:2.0.2
    command: ["/bin/sh", "-c", "mkfontscale && mkfontdir && fc-cache -fv && java -jar /app.jar"] # 追加
    volumes: # 追加
    - ./volume/ldoc/font-packages/:/usr/share/fonts/font-packages/ # 追加
  2. その後、hapサービスを再起動して変更を反映します。

managerディレクトリで再起動コマンドを実行します。

bash ./service.sh restartall

Dockerによるldocサービスの単独デプロイ​

  1. vim ldoc.yamlを使用し、マウント情報 - /data/hap/script/volume/ldoc/font-packages/:/usr/share/fonts/font-packages/ を追加します。
    version: '3'

    services:
    ldoc:
    image: nocoly/ldoc:2.0.2
    ports:
    - 8881:8000
    command: ["/bin/sh", "-c", "mkfontscale && mkfontdir && fc-cache -fv && java -jar /app.jar"] # 追加
    volumes: # 追加
    - /data/hap/script/volume/ldoc/font-packages/:/usr/share/fonts/font-packages/ # 追加
  2. その後、LibreOfficeサービスを再起動して変更を反映します。

ldoc.yamlのあるディレクトリで再起動コマンドを実行します。

# 1. ldocを停止
docker stack rm ldoc
# 2. ldocを確認
docker ps -a | grep ldoc
# 3. ステップ2でldocコンテナが見つからなければ、ldocを起動
docker stack deploy -c ldoc.yaml ldoc

Kubernetesによるldocサービスのデプロイ​

注意:フォントパッケージ用ディレクトリの作成 の手順は、マイクロサービスの各ノードごとで実施し、フォントパッケージをアップロードしておく必要があります。

  1. ldocのdeploymentでマウント設定を修正し、hostpath方式でマウントしてください。
    apiVersion: apps/v1
    kind: Deployment
    metadata:
    name: ldoc
    namespace: default
    spec:
    replicas: 1
    selector:
    matchLabels:
    app: ldoc
    template:
    metadata:
    labels:
    app: ldoc
    spec:
    containers:
    - name: ldoc
    image: nocoly/ldoc:2.0.2
    command: ["/bin/sh", "-c"] # 追加
    args: ["mkfontscale && mkfontdir && fc-cache -fv && java -jar /app.jar"] # 追加
    resources:
    limits:
    cpu: "4"
    memory: 4096Mi
    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/hap/script/volume/ldoc/font-packages/ # 追加

    ---

    apiVersion: v1
    kind: Service
    metadata:
    name: ldoc
    namespace: default
    spec:
    selector:
    app: ldoc
    ports:
    - name: internal
    port: 8001
    targetPort: 8000
  2. その後、LibreOfficeサービスを再起動して変更を反映します。

service.yamlのあるディレクトリで以下コマンドを実行します。

kubectl apply -f service.yaml
# Podが起動したら確認
kubectl get pods | grep ldoc
# ldocが再起動しない場合、手動でロールング再起動が可能です
kubectl rollout restart deploy ldoc