メインコンテンツまでスキップ

Docker版ONLYOFFICE Docsのトラブルシューティング

サポートに連絡する前に:診断情報の収集​

以下で取り上げていない問題が発生した場合は、ONLYOFFICEサポートに連絡する前に次の情報を収集してください:

  • コンテナのログ:

    sudo docker logs <CONTAINER_ID>
  • コンテナのバージョン:

    sudo docker inspect --format='{{.Config.Image}}' <CONTAINER_ID>
  • マウントされたボリュームの一覧:

    sudo docker inspect --format='{{range .Mounts}}{{.Source}} -> {{.Destination}}{{"\n"}}{{end}}' <CONTAINER_ID>
  • ホストOSとDockerのバージョン:

    uname -a && docker --version

インストールとシステム要件​

Q: Dockerベースのサーバーをローカルサーバーにインストールしたいです。どうすればよいですか?

A: 最新のDockerベースのオンラインオフィスサーバーはDocker hubで入手できます。ONLYOFFICE Docsを選択し、インストール手順に従ってください。

Q: サーバーソリューションをインストールして正常に使用するには、どのようなシステムが必要ですか?

A: システム要件は次のとおりです:

  • CPU:デュアルコア 2 GHz 以上
  • RAM:4 GB 以上
  • HDD:少なくとも 20 GB の空き容量
  • SWAP:少なくとも 4 GB、ただしホストOSに依存します。多いほど良いです
  • OS:amd64/arm64、Dockerチームがサポートするバージョンのいずれか

ネットワークとDNS​

Q: Dockerサービスを使用してサーバーのバージョンの1つをインストールしましたが、DNSサーバーまたは自身の名前解決に関する問題があります。何が問題でしょうか?

A: Dockerはデフォルトで Google DNS サーバーを指定しており、サーバーはネットワーク要求を行うたびにそれらに接続しようとします。ONLYOFFICE Docsがインターネットにアクセスしない場合は、DockerのデフォルトのDNSアドレスをローカルDNSサーバーのアドレスに変更することをお勧めします。そのためには、/etc/default/dockerファイルを開き、次の行のIPアドレスをローカルネットワーク内のDNSサーバーのIPアドレスに変更します:

docker_OPTS="--dns 8.8.8.8"

CentOSなどのRPMベースのオペレーティングシステムでは、設定ファイルは次の場所にあります:/etc/docker/daemon.json

Q: ドキュメントエディターが開いてインターフェースは表示されますが、ドキュメント自体が読み込まれず、読み込みの進行状況が表示され続けます。どうすればよいですか?

A: 原因として、コンピューターがインターネットのループバックアクセスを使用して自分自身にアクセスできる必要がある、つまり自分自身に対して外部からアクセス可能である必要があることが考えられます。これを有効にするには、iptablesを編集して次のようなリダイレクトを設定します:

iptables -t nat -A PREROUTING -d <public_ip> -j DNAT --to-destination <local_ip>
iptables -t nat -A POSTROUTING -s <local_ip> -j SNAT --to-source <public_ip>

public_ipとlocal_ipのアドレスを実際のIPアドレスに置き換えることを忘れないでください。

認証とセキュリティ​

Q: ONLYOFFICE Docsを自分のプラットフォームと統合した後、JWT認証が失敗します。どうすれば解決できますか?

A: ONLYOFFICE Docsで設定したJWTシークレットが、プラットフォームのコネクター設定で設定したシークレットと完全に一致していることを確認してください。また、JWTヘッダー名が一致していることも確認してください(デフォルトは「Authorization」です)。よくある間違い:

  • シークレット値の先頭または末尾にスペースがある。

  • カスタムのシークレットを設定せずに、デフォルトのランダムなシークレットを使用している。次のコマンドでシークレットを確認してください:

    sudo docker exec <CONTAINER_ID> /var/www/onlyoffice/documentserver/npm/json -f /etc/onlyoffice/documentserver/local.json services.CoAuthoring.secret.session.string

パフォーマンスとリソース使用量​

Q: ONLYOFFICE Docsが大量のメモリを使用しています。これは正常ですか?

A: メモリ使用量は、開いているドキュメントの数と同時ユーザー数に応じて増加します。アクティブユーザーが数十人のサーバーでは、2~4 GBのRAM使用量は正常です。メモリ使用量が予想外に多い場合は、/var/lib/onlyoffice/documentserver/App_Data/cache/files/forgotten/に停止したドキュメントや忘れられたドキュメントがないか確認してください。

Q: コンテナが再起動を繰り返します。どうすればよいですか?

A: コンテナのログで具体的なエラーを確認してください:

sudo docker logs <CONTAINER_ID>

よくある原因は次のとおりです:

  • メモリ不足(コンテナには少なくとも4 GBのRAMが必要です)。
  • ポート80が別のアプリケーションですでに使用されている。別のアプリケーションを停止するか、ONLYOFFICE Docsのポートを変更してください。
  • データベースの初期化の失敗。外部データベースを使用している場合は、接続パラメーターが正しいことを確認してください。

ドキュメントの処理​

Q: ドキュメントの変換に失敗します(例:DOC、XLS、PPTファイルを開くとエラーが表示される)。どうすればよいですか?

A: 次のコマンドを実行して、コンバーターのログでエラーを確認してください:

sudo docker exec <CONTAINER_ID> cat /var/log/onlyoffice/documentserver/converter/out.log

よくある原因は、ディスク容量の不足とフォントの欠落です。

Q: ONLYOFFICE Docsを停止したときにデータが失われました。データの損失を防ぐにはどうすればよいですか?

A: 動作上の特性により、ONLYOFFICE Docsは、ドキュメントを編集したすべてのユーザーがそのドキュメントを閉じた後にのみドキュメントを保存します。データの損失を防ぐため、アプリケーションの更新やサーバーの再起動などでONLYOFFICE Docsを停止する必要がある場合は、ONLYOFFICE Docsのユーザーを強制的に切断する必要があります。そのためには、ONLYOFFICE Docsがインストールされているサーバーで次のスクリプトを実行します:

sudo docker exec <CONTAINER> documentserver-prepare4shutdown.sh
注記

スクリプトはすべてのユーザーが切断されるのを待つため、実行に長い時間(最大5分)かかる場合があります。

キャッシュとカスタマイズ​

Q: カスタムインターフェーステーマを追加したり、エディターの言語ファイルを更新(一部の翻訳を修正)したりしましたが、サーバーには正しい値ではなく以前の値が表示されたままです。すべてのユーザーのキャッシュを同時にリセットするにはどうすればよいですか?

A: 次のコマンドを実行して、キャッシュを強制的にクリアします:

sudo docker exec <CONTAINER_ID> documentserver-flush-cache.sh

すべてのサーバーユーザーのキャッシュがリセットされます。

注記

Dockerインストールの場合、すべての操作はコンテナ内で実行する必要があることにご注意ください。

エンタープライズ版とデベロッパー版の問題​

Q:「License expired」(ライセンスの有効期限切れ)という警告が表示されます。どうすればよいですか?

A: license.licファイルの有効期限が切れています。ライセンスを更新するには、sales@onlyoffice.comまでご連絡ください。新しいファイルを受け取ったら、データディレクトリ内の古いlicense.licファイルを置き換え、ONLYOFFICE Docsを再起動してください。

Q: 管理パネルにアクセスできません。どうすればよいですか?

A: 管理パネルをまだ設定していない場合は、管理パネルの設定ガイドに従ってください。管理者パスワードを忘れた場合は、runtime.jsonからpasswordHashエントリを削除して再起動してください。新しいブートストラップコードが生成されます。