フッターコンテンツにスキップ
IRONSECUREDOCを使用する

Nextcloud Docker Compose(開発者向けの仕組み)

Dockerとは?

Dockerは、軽量コンテナ内でのアプリケーションの展開とスケーリングを自動化する、無料のオープンソースフレームワークです。 ライブラリ、ツール、設定などのすべての依存関係と一緒にアプリケーションコードを1つのパッケージにまとめ、開発者のラップトップ、テストサーバー、または実際のプロダクションクラウドサーバーなど、どの環境でも一様に実行します。

コンテナは従来の仮想マシンとは異なります。 コンテナはホストシステムのOSカーネルを共有しており、これにより起動がはるかに効率的で高速になります。

基本的に、Docker はアプリケーションとその環境をコンテナ作成のテンプレートであるDockerイメージを通じて定義します。 オーケストレーションツールには、マルチコンテナアプリケーションのためのDocker Composeが含まれており、Docker Hubはイメージを共有するための中央リポジトリです。

Nextcloudとは?

Nextcloud Docker Composeは、自己ホスト型クラウドストレージアプリケーションNextcloudのために隔離され移植可能でスケーラブルな環境を提供するためにDockerコンテナをどのように使用するかを示しています。 この人気のソリューションは、ファイルストレージと共有、カレンダー、連絡先などをサポートしながら、データに対する完全なコントロールを可能にします。

セットアップが簡素化されるのは、PHPやWebサーバーのような依存関係が1つのコンテナに収まっているからです。 DockerはNextcloudのインストールと管理をはるかに簡単にします。 これにより、異なるシステムへのスムーズな展開を可能にし、異なる環境全体で同一の実行が保証されます。

DockerによるNextcloudの実行は簡単で、モジュール化されており、スケーラブルです。 例えば、Docker Composeを使用したマルチコンテナセットアップでは、Nextcloudデータベース(例:MySQLまたはMariaDB)、キャッシュ(例:Redis)、Nextcloudアプリケーション自体のための個別のコンテナを実行します。 これにより柔軟性が増し、Nextcloudインスタンスの管理とスケーラビリティを容易にします。

Nextcloudの機能

Nextcloud Docker は、以下の主要な機能を備えた簡単なデプロイと管理機能を提供します。

  • セットアップの簡素化: Dockerの機能により、PHPやWebサーバーなどのすべての依存関係を1つのコンテナにまとめることができ、インストールと設定が簡単であるため、手間のかからないインストールを実現します。
  • 移植性: Dockerコンテナは異なる環境やノード間で移植可能で、Nextcloudインスタンスをサーバー間やクラウド環境間で移動する際に互換性の問題が発生しません。
  • 隔離性: コンテナはホストシステムや他のコンテナから分離されており、依存関係や設定が同じマシン上の他のサービスと衝突しないようにします。
  • スケーラビリティ: Docker Composeを利用することで、データベースやキャッシング、または負荷分散サービスのための追加のコンテナを展開することで、次世代環境での優れたパフォーマンスを達成するためにNextcloudを簡単にスケールアップできます。
  • 永続的ストレージ: ストレージボリュームをコンテナの外部にマウントすることで、コンテナが再起動またはアップグレードされてもデータが保持されます。
  • 簡単なアップグレード: 新しいイメージバージョンを取得してコンテナを再起動することで、Docker経由でNextcloudやその依存関係をシームレスにアップグレードできます。 煩雑な移行は必要ありません。
  • セキュリティ: Dockerの固有の隔離により、Nextcloudの環境をホストや他のアプリケーションから分離することによって攻撃の表面を最小限に抑えます。

これらのすべての機能が、Nextcloud Docker を効果的なプライベートクラウドインフラストラクチャのホスティングソリューションにしています。

Nextcloudのインストール

前提条件

  • WSL 2 サポートを備えた Windows 10/11 (Pro、Enterprise、および Education)。
  • WindowsにDocker Desktopがインストールされて実行されている。
  • ターミナルやコマンドプロンプトの基本的な使用に慣れていること。

Nextcloud Docker イメージの取得

ターミナルで次のコマンドを実行して、Docker Hubから公式のNextcloud Dockerイメージを取得します。

docker pull nextcloud
docker pull nextcloud
SHELL

または、Dockerアプリケーションを開いて検索ボックスに"nextcloud"と入力してください。

コマンドプロンプトで以下のコマンドを使用してNextcloudのインストールを実行します。

docker run -d -p 8080:80 nextcloud
docker run -d -p 8080:80 nextcloud
SHELL

このコマンドは、Nextcloudイメージをダウンロードし、ポート8080で新しいコンテナを作成します。

データベース用にMariaDBをセットアップする

Nextcloudはデータを保存するためにデータベースを必要とします。 MySQLの代替となるMariaDBを使用できます。

まずMariaDBのイメージを取得します。

docker pull mariadb
docker pull mariadb
SHELL

このコマンドを使用して、MariaDBコンテナを作成します。

docker run -d \
  --name nextcloud-db \
  -e MYSQL_ROOT_PASSWORD=your_root_password \
  -e MYSQL_DATABASE=nextcloud \
  -e MYSQL_USER=nextcloud_user \
  -e MYSQL_PASSWORD=your_password \
  mariadb
docker run -d \
  --name nextcloud-db \
  -e MYSQL_ROOT_PASSWORD=your_root_password \
  -e MYSQL_DATABASE=nextcloud \
  -e MYSQL_USER=nextcloud_user \
  -e MYSQL_PASSWORD=your_password \
  mariadb
SHELL

your_root_passwordyour_passwordを選択した強力なパスワードに置き換えてください。このコマンドは、データベース名がnextcloudで、ユーザー名がnextcloud_userであるMariaDBコンテナnextcloud-dbをセットアップします。

NextcloudのWebインターフェース

Webブラウザを開いて、NextcloudがホスティングされているサーバーのIPアドレスまたはドメイン名を入力して、Nextcloudのインストールにアクセスします。 ローカルインストールの場合は、以下を使用してください。

http://localhost:8080/

管理者アカウントのセットアップ

セットアップページにアクセスしたら、管理者ユーザーを作成します。 Nextcloud CLI も、必要に応じて構成とセットアップを管理するために利用可能です。

必要な情報を入力した後、データベース接続を構成します。

  1. データベースホスト: ローカルデータベースの場合はlocalhostを使用するか、Dockerを使用している場合はデータベースコンテナ名(例:nextcloud-db)を使用します。
  2. データベースのユーザー名とパスワード: MariaDBセットアップ時に提供されたものです。
  3. データベース名: この例ではnextcloudです。

すべての必要な詳細を入力し、"Finish Setup"をクリックしてインストールを完了します。

IronSecureDoc とは何ですか?

IronSecureDocは、機密ファイルを暗号化、墨消し、デジタル署名するためのドキュメントセキュリティツールです。 PDFを保護し、ユーザーが個人データや機密情報を効果的に管理できるようにします。

IronSecureDocのインストールと実行

次のコマンドを使用して、IronSecureDoc Docker イメージを取得します。

docker pull ironsoftwareofficial/ironsecuredoc
docker pull ironsoftwareofficial/ironsecuredoc
SHELL

IronSecureDocコンテナを実行するには、次を使用します。

docker container run --rm -p 8080:8080 \
  -e IronSecureDoc_LicenseKey=<IRONSECUREDOC_LICENSE_KEY> \
  -e ENVIRONMENT=Development \
  -e HTTP_PORTS=8080 \
  ironsoftwareofficial/ironsecuredoc:latest
docker container run --rm -p 8080:8080 \
  -e IronSecureDoc_LicenseKey=<IRONSECUREDOC_LICENSE_KEY> \
  -e ENVIRONMENT=Development \
  -e HTTP_PORTS=8080 \
  ironsoftwareofficial/ironsecuredoc:latest
SHELL

<IRONSECUREDOC_LICENSE_KEY>を実際のライセンスキーに置き換えてください。 このコマンドはIronSecureDocコンテナを起動し、ポート8080で公開します。

Using IronSecureDoc with Docker Container

IronSecureDocはインストール後、REST APIを介してアクセスできます。 ドキュメントとAPIエンドポイントはhttp://localhost:8080/swagger/index.htmlで見つけることができます。

暗号化するためにドキュメントを送信するには、curlを介してPOSTリクエストを使用します。

curl -X 'POST' \
  'http://localhost:8080/v1/document-services/pdfs/encrypt?user_password=demo' \
  -H 'accept: */*' \
  -H 'Content-Type: multipart/form-data' \
  -F 'pdf_file=@test.pdf;type=application/pdf'
curl -X 'POST' \
  'http://localhost:8080/v1/document-services/pdfs/encrypt?user_password=demo' \
  -H 'accept: */*' \
  -H 'Content-Type: multipart/form-data' \
  -F 'pdf_file=@test.pdf;type=application/pdf'
SHELL

これにより、ドキュメントがIronSecureDocに送信され、適切な暗号化が適用されます。

結論

NextcloudとIronSecureDocは、セキュアなデータ処理において異なる目的を果たします。 Nextcloudは、完全なプライバシーコントロールとDockerによるスケーラビリティを提供するデータ管理および共有のための強力な自己ホスト型クラウドプラットフォームです。 IronSecureDocは、機密ファイルの安全な処理を保証する高度なドキュメント暗号化を提供します。 Dockerとの統合により、どちらのソリューションもスケーラブルで安全な環境に適しています。

Click here for more information on IronSecureDoc licensing. For more information on product lines offered by Iron Software, check here.

よくある質問

Docker ComposeはNextcloudの展開をどのように簡略化しますか?

Docker Composeを使用すると、マルチコンテナアプリケーションをオーケストレーションすることができ、Nextcloudのすべての依存関係を孤立したポータブルでスケーラブルなコンテナにパッケージ化することで、展開を簡略化します。

NextcloudにDockerを使用する利点は何ですか?

NextcloudにDockerを使用することで、セットアップの簡略化、ポータビリティの向上、分離、スケーラビリティ、永続ストレージ、簡単なアップグレード、セキュリティの向上などの利点があります。

Dockerを使用してNextcloudをどのようにセットアップしますか?

公式のNextcloud Dockerイメージをコマンドdocker pull nextcloudでプルし、docker run -d -p 8080:80 nextcloudを使用して実行することで、Dockerを使用してNextcloudをセットアップできます。

NextcloudのDockerセットアップに関与するコンポーネントは何ですか?

NextcloudのDockerセットアップは、通常、アプリケーション自体、データベース、キャッシングサービスのための個別のコンテナを含み、Docker Composeを使用してモジュール性とスケーラビリティを確保します。

IronSecureDocはNextcloudのデータセキュリティをどのように強化しますか?

IronSecureDocは高度なドキュメント暗号化、編集、デジタル署名機能を提供することで、Nextcloudのデータセキュリティを強化し、Docker環境内で機密ファイルが安全に処理されるようにします。

IronSecureDocはDockerを使用してNextcloudの展開に統合できますか?

はい、IronSecureDocはそのDockerイメージを使用してセキュアなドキュメントハンドリングを提供することで、Dockerを使用したNextcloudの展開を強化できます。この統合は、Docker化された環境内でのREST APIを介したセキュアなドキュメント処理を可能にします。

クラウドプロバイダーよりもNextcloudのようなセルフホスティングソリューションを選ぶ理由は何ですか?

クラウドプロバイダーよりもNextcloudのようなセルフホスティングソリューションを選ぶことで、完全なプライバシーコントロール、データ主権が得られ、特定の組織のニーズに応じた環境をカスタマイズできます。また、Dockerを使用して効率的な展開が可能です。

Dockerは異なる環境でのNextcloudのパフォーマンスをどのように保証しますか?

Dockerはアプリケーションとすべての依存関係を単一のコンテナにカプセル化することで、異なる環境でNextcloudの一貫したパフォーマンスを保証し、コンフリクトを防ぎ、展開プロセスを簡素化します。

DockerとNextcloudはどのように協力してスケーラブルなクラウドストレージソリューションを提供しますか?

DockerとNextcloudは、コンテナを使用してアプリケーションを効率的に管理およびスケールし、需要が増加した際にリソースとサービスを簡単に追加しつつ、データの整合性とセキュリティを維持します。

カーティス・チャウ
テクニカルライター

Curtis Chauは、カールトン大学でコンピュータサイエンスの学士号を取得し、Node.js、TypeScript、JavaScript、およびReactに精通したフロントエンド開発を専門としています。直感的で美しいユーザーインターフェースを作成することに情熱を持ち、Curtisは現代のフレームワークを用いた開発や、構造の良い視覚的に魅力的なマニュアルの作成を楽しんでいます。

開発以外にも、CurtisはIoT(Internet of Things)への強い関心を持ち、ハードウェアとソフトウェアの統合方法を模索しています。余暇には、ゲームをしたりDiscordボットを作成したりして、技術に対する愛情と創造性を組み合わせています。