DockerでONLYOFFICE Appsを実行する
はじめに
ONLYOFFICE Apps は、ユーザーとドキュメントを1か所に集めてコラボレーションを促進できるドキュメントハブです。
このガイドでは、Docker を使用して ONLYOFFICE Apps をお使いのマシンで実行する方法を説明します。
このガイドでは ONLYOFFICE Apps の開発/テスト用ビルドをデプロイします。本番環境での使用は想定されていません。このビルドはプレーンなHTTPのみで提供され、IDおよびOAuthサービスは含まれず、機能も限定されています。本番環境へのデプロイには、ONLYOFFICE Appsの本番版を使用してください。
概要
標準のマルチコンテナーデプロイメントとは異なり、このビルドではすべての ONLYOFFICE Apps サービスを、サービスごとの個別のコンテナーではなく、単一のコンテナー内で実行します。スタック全体は次のコンテナーで構成されます。
| コンテナー | 役割 |
|---|---|
| onlyoffice-apps | すべての ONLYOFFICE Apps サービス(統合済み) |
| onlyoffice-document-server | Document Server(エディター) |
| onlyoffice-mysql-server | MySQLデータベース |
| onlyoffice-opensearch | OpenSearch |
標準のマルチコンテナーデプロイメントと比較して、このビルドには次の違いがあります。
- すべての ONLYOFFICE Apps サービスが単一のコンテナーに統合されています。
- 簡易化された検索。
- サムネイルは生成されません。
- HTTPのみで、TLS/HTTPSには標準では対応していません。
- IDおよびOAuthサービスはありません。
システム要件
- CPU:6コア以上(8コアを推奨)
- RAM:12 GB 以上(16 GB を推奨)
- HDD:40 GB 以上の空き容量
- OS:カーネルバージョン 3.10 以降の amd64 Linuxディストリビューション
- 追加要件:
- 6 GB 以上のスワップ
- Compose プラグイン(
docker composeコマンド)を備えた Docker Engine
リポジトリのクローン
次のコマンドを使用して DocSpace-buildtools リポジトリをクローンします。
git clone https://github.com/ONLYOFFICE/DocSpace-buildtools.git
リポジトリのクローンが完了したら、Composeディレクトリに移動します。
cd DocSpace-buildtools/install/docker/community
構築済みイメージの実行
構築済みイメージを使用して ONLYOFFICE Apps をデタッチモードで起動するには、次のコマンドを実行します。
docker compose up -d
コンテナーが起動して実行されたら、ブラウザーを開き、アドレスバーに http://localhost または http://your-ip-address と入力して ONLYOFFICE Apps にアクセスします。
ソースからのイメージのビルド
ONLYOFFICE Apps のイメージを自分でビルドしたい場合や、特定のブランチの変更をテストしたい場合は、このオプションを使用します。
次のコマンドを使用して、コンテナーをビルドして起動します。
docker compose up -d --build
デフォルトでは、イメージは master ブランチからビルドされます。別のブランチからビルドするには、GIT_BRANCH ビルド引数を指定します:GIT_BRANCH=your-branch docker compose up -d --build。
ビルドが完了してコンテナーが実行されたら、ブラウザーで http://localhost または http://your-ip-address を開いて ONLYOFFICE Apps にアクセスします。
SSLでの実行
ONLYOFFICE Apps は、Let's Encrypt とカスタムSSL証明書の両方に対応しています。
Let's Encrypt証明書の使用
Let's Encrypt 証明書で ONLYOFFICE Apps を実行するには、ご自身のドメイン、メールアドレス、ワークスペースURLを指定して、次のコマンドを実行します。
SSL_MODE="letsencrypt" \
SSL_DOMAIN="example.com,portal.example.com,api.example.com" \
SSL_EMAIL="admin@example.com" \
APP_URL_PORTAL="https://example.com/" \
docker compose \
-f docker-compose.yml \
-f ssl.yml \
up -d
次のパラメーターが使用されます。
- SSL_MODE – SSL証明書のモード。
- SSL_DOMAIN – カンマで区切られた1つ以上のドメイン。
- SSL_EMAIL – Let's Encrypt の登録に使用するメールアドレス。
- APP_URL_PORTAL – ワークスペースの公開HTTPS URL。
カスタム証明書またはプライベートCA証明書の使用
自己署名証明書、またはプライベート認証局(CA)が発行した証明書を使用する場合は、ONLYOFFICE Document Server もこの証明書を信頼する必要があります。
docker-compose.yml ファイルの次のボリュームのコメントを解除します。
services:
onlyoffice-document-server:
volumes:
- ${CERTIFICATE_PATH}:/var/www/onlyoffice/Data/certs/extra-ca-certs.pem
次に、ホスト上の証明書のパスを指定して、次のコマンドを実行します。
SSL_MODE="custom" \
SSL_DOMAIN="example.com" \
SSL_CERT_PATH="/etc/nginx/certs/fullchain.crt" \
SSL_KEY_PATH="/etc/nginx/certs/private.key" \
CERTIFICATE_PATH="./config/nginx/certs/fullchain.crt" \
APP_URL_PORTAL="https://example.com/" \
docker compose \
-f docker-compose.yml \
-f ssl.yml \
up -d
CERTIFICATE_PATH は、コンテナー内のパスではなく、Dockerホスト上の証明書ファイルを指す必要があります。このオプションは通常、自己署名証明書またはプライベートCAが発行した証明書の場合にのみ必要です。パブリックCAが発行した証明書(例:Let's Encrypt、DigiCert、GoDaddy)では、通常この追加設定は必要ありません。
次のパラメーターが使用されます。
- SSL_MODE – SSL証明書のモード(custom)。
- SSL_DOMAIN – ワークスペースのドメイン名。
- SSL_CERT_PATH – SSL証明書のパス。
- SSL_KEY_PATH – 秘密鍵のパス。
- APP_URL_PORTAL – ワークスペースの公開HTTPS URL。
デフォルトでは、ssl.yml の設定はローカルの ./config/nginx/certs ディレクトリをコンテナー内の /etc/nginx/certs にマウントします。
コンテナーが起動して実行されたら、ブラウザーでワークスペースのアドレス(例:**https://example.com/**)を開いて ONLYOFFICE Apps にアクセスします。