Collabora Online CODE Dockerにカスタムフォントを追加する方法

Docker 上で動作する Collabora Online CODE (Collabora Online Development Edition) でカスタムフォントを使用するには、フォントファイルが Collabora コンテナ自体からアクセス可能である必要があります。Docker ホストまたは別の Nextcloud コンテナにのみインストールしても、オフィスサーバーでは使用できません。単一の Compose デプロイメントの場合、通常は読み取り専用のバインドマウントが最も簡単なオプションです。カスタムイメージは管理対象のフリート全体で再現しやすく、リモートフォント構成は安全に運用できる場合は配信を一元化できます。

フォントディレクトリはイメージやリリースによって異なる場合があります。Collaboraの現在のアップストリームHelmデプロイメントでは、カスタムフォントが と の両方にマウントされます/usr/share/fonts/custom。/opt/cool/systemplate/usr/share/fonts/customこれは2つの場所の参考になりますが、すべてのスタンドアロンDockerタグで保証されるものではありません。以下の例をデプロイする前に、実際に実行するイメージのパスを確認してください。

ご使用の環境に最適なフォントのインストール方法はどれですか?

維持管理するCODEインスタンスの数、アップデートの展開方法、およびセキュアなフォントホストを運用できるかどうかに基づいて選択してください。

方法最適なフィット感トレード・オフ
読み取り専用バインドマウントComposeホスト1台または小規模なインストール再構築せずに簡単にアップデートできますが、すべてのホストで同じファイルと互換性のあるコンテナパスが必要です。
カスタムDockerイメージCI/CD、反復可能なデプロイメント、または複数の管理対象ホストフォントは画像とともにバージョン管理されますが、フォントを変更するには、それを再構築して再デプロイする必要があります。
リモートフォント設定中央管理カタログが必要な事例がいくつかあります中央配信方式では、サービスとネットワークへの依存度が高まります。本番環境での使用にはHTTPSと運用上のセキュリティ強化が必要です。

CollaboraをHelmチャートでインストールする場合は、まずチャートのdeployment.customFonts設定を確認してください。アップストリームのチャートには、カスタムフォントのマウントオプションが既に用意されています。スタンドアロンのDocker Compose環境の場合は、イメージパスが一致していれば、バインドマウントでインストールを進めてください。

アップストリームの Helm デプロイメント テンプレートとその 2 つのフォント マウント場所を確認し、チャートのカスタム フォントの値をチェックします。

Dockerを変更する前に、何をチェックすべきでしょうか?

  • フォント形式: Collaboraの設定でサポートされているフォントファイルを使用してください。公式のCollaboraフォントサーバープロジェクトでは、TrueType(.ttf)ファイルとOpenType(.otf)ファイルについて説明しています。
  • ライセンス:フォントのライセンスがサーバー側での使用およびユーザーへの配布を許可していることを確認してください。ライセンスで許可されていない限り、デスクトップオペレーティングシステムからフォントをコピーしないでください。
  • ファミリー名:フォントメニューに表示される名前は、フォントの内部メタデータから取得されます。これはファイル名とは異なる場合があります。ファイル名だけでなく、ファミリー名を使用してテストしてください。
  • すべてのインスタンス:プロキシがユーザーを複数のCollaboraコンテナにルーティングする場合、すべてのインスタンスに同じフォントファイルをインストールしてください。そうしないと、同じドキュメントでも、どのサーバーで開くかによって表示が異なる場合があります。
  • 正確なイメージパス:実行中のイメージのディレクトリと起動構成を確認してください。古いパスや/opt/lool、無関係なパッケージのパスなどを安易に再利用しないでください。

Compose ファイルの横などにホストディレクトリを作成し./fonts、許可されたファイル.ttfや.otfファイルをそこに配置します。ディレクトリには、Collabora を通じて公開する予定のフォントのみを配置してください。

/srv/collabora にあるファイルマネージャには、フォントフォルダ、2 つのサンプルフォントファイル、および docker-compose.yml が表示されています。
Collaboraサービスにディレクトリを追加する前に、ホスト側のフォントフォルダとComposeファイルを確認してください。

Docker Composeでフォントを追加するにはどうすればよいですか?

既存のCollaboraサービスのリストに、読み取り専用のボリュームエントリを2つ追加しますvolumes。サービスの現在のイメージ、ポート、環境変数、その他の設定はそのまま保持されます。これはComposeファイルの追加であり、置き換えではありません。

services:
  collabora:
    volumes:
      - ./fonts:/usr/share/fonts/custom:ro
      - ./fonts:/opt/cool/systemplate/usr/share/fonts/custom:ro

左側のソースディレクトリはDockerホスト上にあります。右側のパスはコンテナ内部にあります。:roサフィックスにより、ファイルはコンテナから読み取り専用になります。これらのターゲットパスは、Collaboraの現在のアップストリームHelmテンプレートに準拠しています。スタンドアロンのCODE Dockerの場合は、まず正確なタグを確認してください。いずれかの場所が存在しない場合、またはリリースで異なるディレクトリを使用している場合は、この例を強制するのではなく、そのイメージでサポートされているパスを使用してください。

Composeエディタには、/usr/share/fonts/customとsystemplateフォントディレクトリの2つの読み取り専用フォントバインドマウントが表示されている。
この例では、ボリュームマッピングの同じホストフォントディレクトリを、上流のCollaboraフォントの場所両方に送信します。

Collaboraサービスを再作成するとアクティブな編集セッションが中断される可能性があるため、Composeの変更は静かな時間帯に適用してください。サービス名がの場合collabora、以下を実行します。

docker compose up -d collabora

Composeサービス名が異なる場合は、実際のサービス名を使用してください。他のサービスも構成変更が必要な場合を除き、スタック全体の再起動は避けてください。

コンテナがファイルにアクセスできることをどのように確認できますか?

まず、マウントされたディレクトリにフォントファイルが含まれていることを確認してください。< collaboracontainer name> は、ご使用の環境で使用しているコンテナ名に置き換えてください。

docker exec collabora ls /usr/share/fonts/custom
docker exec collabora ls /opt/cool/systemplate/usr/share/fonts/custom
Collaboraコンテナ内のカスタムフォントディレクトリを一覧表示するdocker execコマンドを表示するターミナル
検証コマンドの例:実行中の Collabora コンテナ内のマウントされたパスを両方とも一覧表示します。

ファイルを確認することでDockerのマウントは確認できますが、エディタがフォントを読み込んだことを証明するものではありません。イメージにFontconfigユーティリティが含まれている場合は、fc-list例えば以下のコマンドで検出されたファミリー名を調べることができます。

docker exec collabora fc-list : family file

コンテナで使用可能なツールを使用して、目的のフォントファミリーの出力をフィルタリングしてください。fc-listインストールされていない場合は、恒久的な修正として実行中のコンテナにパッケージを追加しないでください。イメージのフォント構成を確認するか、再現可能なカスタムイメージを使用してください。ファイルが表示されるものの検出されない場合は、権限、ファイル形式、内部ファミリーメタデータ、および両方のマウントパスを確認してください。その後、デプロイした正確なイメージとリリースについてログを参照してください。

Collabora Onlineでフォントをテストするにはどうすればよいですか?

  1. Collaboraエディターを起動する通常の連携機能を使用して、テストドキュメントを開くか作成します。
  2. フォントファミリーメニューを開き、フォントの内部ファミリー名を探してください。
  3. それを選択し、短いサンプルを入力し、保存して閉じ、再度開きます。
  4. 複数のCollaboraインスタンスが展開されている場合は、別のユーザーまたはブラウザから同じドキュメントを確認してください。

以下の例は、想定されるチェックの種類を示しています。エディタのメニューにフォントファミリーが表示されます。これは実際のCODE環境からのキャプチャではないため、ツールバーはバージョンや統合方法によって異なる場合があります。

複数のフォントファミリーの中からSample Sansが選択された、図解ドキュメントエディタのフォントメニュー。
検証手順の一例として、エディタのフォントメニューに目的のフォントファミリーが表示されていることを確認する。

フォントファミリーが表示されているにもかかわらず、テキストが別のフォントで表示される場合は、選択したフォントの種類と太さ(例えば、標準と太字)が存在することを確認し、システムプレートパスと一般的なフォントディレクトリの両方にフォントが存在することを確認してください。メニュー項目があるだけでは、すべてのスタイルまたはすべてのサーバーにそのフォントが存在することの証明にはなりません。

カスタム画像サービスやリモートフォントサービスは、どのような場合に利用する価値があるのでしょうか?

再現性を高めるためにカスタムイメージを作成する

承認済みのフォントファイルを選択したCODEイメージで使用されるパスにコピーするDockerfileを使用すると、デプロイメントの再現性が向上します。イメージダイジェストによって、サーバービルドとフォントセットの両方が識別されるためです。ただし、フォントまたはベースイメージを更新するたびに、再構築、スキャン、ロールアウトが必要になります。ベースイメージのアップグレード後は、ターゲットディレクトリを再確認し、フォントコピーの手順をCODEのバージョン間で共通して扱うことは避けてください。

共有カタログにはリモートフォント設定を使用する

Collaboraのfontserverプロジェクトでは、リモートフォント設定とJSONカタログについて説明しています。このリポジトリは開発およびテスト用として設計されているため、サンプルサーバーを本番環境で使用できるサービスとして扱わないでください。本番環境では、適切に管理されたHTTPSエンドポイントを使用し、提供するフォントを制限および検証し、ネットワークの可用性とキャッシュの更新動作を考慮してください。この方法を選択すれば、ホストごとのファイル管理は削減できますが、サービスが追加されるため、障害や設定のずれによってフォントの可用性に影響が出る可能性があります。

この方法を選択する前に、公式のCollaboraフォントサーバープロジェクトおよびCollaboraの設定ドキュメントを参照して、リモートフォントの利用可能性を確認してください。

どちらの選択肢を選ぶべきでしょうか?

Docker Composeで管理するCODEコンテナが1つだけの場合は、読み取り専用のバインドマウントから始めましょう。ロールバックが簡単で、カスタムビルドも不要です。CI/CDで管理されるフリートの場合は、各デプロイメントに明示的でレビュー可能なフォントセットを持たせたい場合に、カスタムイメージを使用することをお勧めします。リモートフォント構成は、中央配布が運用上の大きなメリットとなり、安全で信頼性の高いHTTPSサービスを提供できる場合にのみ検討してください。いずれの場合も、デプロイ後にパスを確認し、実際のドキュメントでフォントをテストしてください。ホストのフォントリストだけでは、Collaboraがフォントをロードしたことを確認できません。

コメントを残す

Microsoft Wordで画像を移動する方法

Microsoft Wordで画像を移動する方法

Wordで画像をドラッグする方法、テキストの折り返しを選択する方法、段落内に画像を保持する方法、ページ上に画像を固定する方法、そして画像が移動しない場合のトラブルシューティング方法を学びましょう。

Excelにチェックボックスを挿入する方法:2つの簡単な方法

Excelにチェックボックスを挿入する方法:2つの簡単な方法

Excelのセル内ツールを使ってチェックボックスを挿入する方法、数式を使ってチェックされた項目の数を数える方法、古いデスクトップ版でリンクされたフォームコントロールを追加する方法を学びましょう。

Excelで文字を自動入力する方法:AからZ、そしてその先へ

Excelで文字を自動入力する方法:AからZ、そしてその先へ

Excelでフィルハンドル関数、SEQUENCE関数、または再利用可能なカスタムリストを使用して、AからZまでのアルファベット、小文字、またはZを超えるラベルを生成します。

Excelで取り消し線を引く方法:ショートカットと手順

Excelで取り消し線を引く方法:ショートカットと手順

Windows、Mac、Web版Excelで取り消し線を引く方法、セルの一部に書式を設定する方法、値を削除せずに行を削除する方法を学びましょう。

Microsoft Accessとは?そのデータベースツールはどのように機能するのか?

Microsoft Accessとは?そのデータベースツールはどのように機能するのか?

Microsoft Accessは、関連レコードの保存、クエリの作成、データ入力フォームの作成、レポートの生成を行うためのWindowsデータベースアプリケーションです。その仕組みと最適な活用シーンについて解説します。

Word 2010でグリッド線の高さと幅を変更する

Word 2010でグリッド線の高さと幅を変更する

Word 2010でグリッド線の高さと幅を調整する方法、表示される線の頻度を変更する方法、および下地となる水平方向と垂直方向の描画グリッドの間隔を設定する方法を学びましょう。

Office Outlook 2010 のインポートとエクスポート: PST ファイルを使用してデータを移動する

Office Outlook 2010 のインポートとエクスポート: PST ファイルを使用してデータを移動する

Outlook 2010にPSTファイルをインポートする方法、またはメール、連絡先、カレンダー、タスクをエクスポートする方法を学びましょう。正しいメニューに従い、フォルダの欠落や重複を避けてください。

Nucleus Kernelを使用してOutlook PSTファイルのパスワードを復元する

Nucleus Kernelを使用してOutlook PSTファイルのパスワードを復元する

Kernelが提供する最新の手順では、忘れてしまったOutlook PSTファイルのパスワードを復元する方法を解説します。正しいファイルの特定方法、バックアップの作成方法、ツールの制限事項の確認方法などが含まれています。

PowerPointスライドにライブWebページを挿入する方法

PowerPointスライドにライブWebページを挿入する方法

LiveWebアドインを使用すると、WebサイトをPowerPointスライドに配置し、サイズや更新動作を設定し、プレゼンテーション前に互換性を確認できます。

Access 2010データベースをフォームで開く方法

Access 2010データベースをフォームで開く方法

Access 2010データベースアプリケーションを、データ入力フォームに直接開くように設定し、オブジェクトリストを非表示にし、メニューを制限し、共有前に設定を確認します。