IRONSECUREDOCの使用

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

チャクニット・ビン
チャクニット・ビン
2024年12月16日
共有:

Dockerとは何ですか?

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

-->

コンテナは、従来の仮想マシンとも異なります。 コンテナはホストシステムの[OSカーネル](https://en.wikipedia.org/wiki/Kernel_(operating_system)を共有しているため、起動がはるかに効率的で高速です

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

ネクストクラウドとは?

Nextcloud Docker Composeは、Dockerコンテナを使用して、自己ホスト型クラウドストレージアプリケーションであるNextcloudのために、分離された、ポータブルでスケーラブルな環境を提供する方法を示しています。 この一般的なソリューションは、ファイルの保存と共有、カレンダー、連絡先などをサポートし、データの完全な制御を可能にします。

Nextcloud Docker Compose(開発者向けの動作方法):図2

PHPやWebサーバーのような依存関係が1つのコンテナ内に含まれているため、セットアップが簡素化されます; これにより、DockerはNextcloudのインストールと管理をより簡単にします。 また、これは、異なる環境間ですべてが同じように実行されることを保証するものであり、したがって、別のシステムに簡単にデプロイすることができます。

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

ネクストクラウドの特徴

Nextcloud Dockerの良い点は、Nextcloudに搭載されているデプロイと管理機能が簡単なことです。 以下の主要な特徴をすべて備えています:

  • 簡略化されたセットアップ: DockerにはPHPやウェブサーバーなど、すべての依存関係が含まれているため、簡単にインストールできます。 このように、すべてが1つのコンテナに入っているため、インストールや設定を迅速かつ手間なく行うことができます。
  • ポータビリティ: Dockerコンテナは異なる環境やノード間でポータブルです。 そのため、Nextcloudインスタンスをサーバーやクラウド環境から別の環境に移行する際に、互換性の問題が発生しないようにします。
  • 隔離: 各Nextcloudコンテナはホストシステムや他のコンテナから分離されています。 そのため、同じマシン上の他のサービスと依存関係や設定が衝突しないようにします。
  • スケーラビリティ: これは、データベースやキャッシュ、その他のロードバランサーサービスのコンテナに加えて、Docker Composeを使用してNextcloudをスケーリングアップする際に最も手間がかかりません。 そして、このようにモジュール化することで、大規模な環境でも優れたパフォーマンスを発揮できるようになります。
  • 永続ストレージ: コンテナ外にストレージボリュームをマウントすることで、コンテナの再起動やアップグレード後もデータが永続的に保持されます。
  • 簡単なアップグレード: Dockerを介してNextcloudまたはその依存関係を簡単にアップグレードできます。 新しいバージョンのイメージを取り込み、コンテナを再起動し、更新を完了し、混乱を招く移行は必要ありません モジュラリティ-RedisをCacheのレイヤーとして、またはMariaDBをデータベースとして、サービスの次に実行することができます; その結果、マイクロサービススタイルのアーキテクチャが生まれます。
  • セキュリティ: Dockerの隔離性は本質的なものであり、Nextcloudの環境をホストや他のアプリケーションから分離することで、攻撃の対象となる領域を最小限に抑えます。

    これらすべての機能により、Nextcloud Dockerはプライベートクラウドインフラストラクチャをホスティングするための簡単で効率的なソリューションとなります。

    以下はNextcloudのシンプルなアーキテクチャです。

    -->

Nextcloudのインストール

前提条件

  • WSL 2 サポート付きの Windows 10/11 (Pro、Enterprise、または Education)。
  • Docker DesktopはWindowsにインストールされ、動作しています。
  • ターミナルまたはコマンドプロンプトの基本的な操作に慣れていること。

NextcloudのDockerイメージをプルする

Docker Hubから公式のNextcloud Dockerイメージを引っ張ってくる必要があります。

ターミナルを開き、次のコマンドを実行してください:

docker pull nextcloud

または、docker アプリケーションを開き、検索ボックスでコンテナ名を検索してください。

Nextcloud Docker Compose (開発者のための仕組み):図 4

Nextcloudの最新のdocker-composeファイルがダウンロードされます。 Nextcloudのインストールを実行するには、コマンドプロンプトで以下のコマンドを入力してください。

docker run -d -p 8080:80 nextcloud

Nextcloud Docker Compose(開発者向けの動作方法):図5

上記のコードを実行すると、Docker環境にNextcloudのカスタムボリュームが作成されます。

データベース用MariaDBのセットアップ

Nextcloudのデータを保存するデータベースが必要です。 MySQLの代替としてMariaDBを使用することも可能です。

まず、MariaDBのイメージを引っ張ってきてください:

docker pull mariadb

次に、このコマンドを使用して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

your_root_passwordとyour_passwordをお好みの強力なパスワードに置き換えてください。このコマンドは、実行中のMariaDBコンテナをNextcloud dbという名前で作成し、nextcloudという新しいデータベースとnextcloud_userというユーザーを作成します。 カスタムストレージボリュームのマウントは、Nextcloudコンテナで可能です。

ネクストクラウドWebインターフェース

コンピュータでウェブブラウザを開いてください。

NextcloudがホストされているサーバーのIPアドレスまたはドメイン名をアドレスバーに入力してください:(Nextcloudはリバースプロキシを介しても実行できます)

http://localhost:8080/

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

Nextcloudのセットアップページが表示されます。 また、Nextcloud コマンドラインインターフェース (CLI) は必要に応じて設定やセットアップの管理に利用可能です。

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

管理者ユーザー名: プライマリアカウントを作成する最初の管理者ユーザー名です。

管理者パスワード: 新しい管理者ユーザー名に設定するパスワードです。 また、データベース環境変数のデフォルトを使用して、DBセットアップを構成することができます。

設定データベース

インストールページの「データベース」セクションまでスクロールダウンしてください。 データベース・ユーザーとは、セットアップ時に提供されたユーザー名です。データベースパスワードは、データベースユーザー名のパスワードです。 データベース名は、データベースの名前です。

Nextcloud Docker Compose(開発者向けの動作方法):図7

データベースホスト: データベースをローカルでホスティングしている場合はlocalhostを使用し、Dockerを使用している場合はデータベースコンテナの名前を使用してください(例: Nextcloud db)。

すべての詳細を入力し、[セットアップ完了]をクリックします。

Nextcloud Docker Compose(開発者のための動作方法):図8

Nextcloudはデータベースを構成し、セットアップを完了します。すべてのプロセスを完了するのに数分かかるはずです。 Nextcloudは、設定ファイルをマージして効率的に実行します。 Nextcloudでは、オブジェクトストレージサーバーを構成することもできます。

データ設定ファイルを入手し、インストールすると、Nextcloudのユーザーインターフェイスであるログインページに自動的に転送されます。

ログインするには、インストール時に入力したadminユーザー名とパスワードを使用してください。

Nextcloud Docker Compose(開発者のための仕組み):図9

ログインすると、Nextcloudのダッシュボードが表示され、クラウドファイル、カレンダー、連絡先の管理を開始できます。

Nextcloud Docker Compose(開発者向けの動作方法): 図10

IronSecureDocとは何ですか?

IronSecureDoc は、機密ファイルを暗号化、修正、デジタル署名するために使用されるドキュメントセキュリティツールです。 PDFを保護するために使用され、個人データや機密情報を管理することができます。

Nextcloud Docker Compose(開発者向けの動作方法):図11 - IronSecureDoc

その特徴には、パスワード保護、標準への準拠、主に医療、金融、法律で使用されるデジタル認証などがあります。 REST APIとして利用可能で、他のワークフローと統合されており、スケーラブルでクラウドに適したセキュリティソリューションのドッカーとして適用可能です。

IronSecureDocのインストールと実行

このコマンドを使用して、開いているターミナルウィンドウまたはコマンドプロンプトでリポジトリからDockerイメージIronSecureDocを取り出します。

docker pull ironsoftwareofficial/ironsecuredoc

Nextcloud Docker Compose(開発者向けの動作方法): 図12

このDockerコンテナがイメージを取り出した状態で、別のコマンドを使用してIronSecureDocという新しいコンテナを起動します。

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

Nextcloud Docker Compose(開発者向けの動作方法):図13

DockerコンテナでIronSecureDocを使用する

このツールはインストール後にアクセスすることができ、インストールしてDockerを起動し、別の場所でも言及されているREST APIを使ってドキュメントを再編集、認証、暗号化する。 APIエンドポイントとドキュメント: こちらで確認できます http://localhost:8080/swagger/index.html.

Nextcloud Docker Compose(開発者のための仕組み): 図14

暗号化のためにドキュメントを送信するには、IronSecureDoc APIに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'

IronSecureDocにドキュメントを転送し、IronSecureDocが適切な暗号化を適用します。

結論

NextcloudとIronSecureDocは、安全で効率的な方法でデータを処理するための2つの全く異なるソリューションです。 Nextcloud restartは、ファイル、カレンダー、連絡先の保存、管理、共有を可能にする、非常に堅牢なセルフホストクラウドプラットフォームです。 オープンソースであるため、さまざまなアプリケーションと統合でき、データのプライバシーやカスタマイズを完全に制御しながら、Dockerや手動インストールによって拡張することができます。

対照的に、IronSecureDocは高度な暗号化による文書の暗号化を主な対象としています; そのため、ユーザーは安心して機密ファイルを扱うことができます。 Dockerとの統合により、デプロイが容易になり、他の環境での安全なドキュメントの取り扱いを必要とする組織にとって理想的です。

これらはすべて、クラウド管理に関するNextcloudの柔軟な機能と、IronSecureDocによるセキュリティ・ドキュメントの機能強化に集約されます。 これらのツールを組み合わせることで、高度にプライベートなセキュリティで保護されたクラウド空間の完全なエコシステムが構築され、このような管理された環境内で、これらのニーズに対応する機密性に簡単にアクセスできるようになります。 IronSecureDocライセンスに関する詳細情報については、こちらをクリックしてください。 Iron Softwareが提供する製品ラインについての詳細はこちらをご覧ください。

チャクニット・ビン
ソフトウェアエンジニア
ChaknithはIronXLとIronBarcodeで作業しています。彼はC#と.NETに深い専門知識を持ち、ソフトウェアの改善と顧客サポートを支援しています。ユーザーとの対話から得た彼の洞察は、より良い製品、文書、および全体的な体験に貢献しています。
< 以前
エンタープライズセキュリティ対サイバーセキュリティ(開発者にとっての仕組み)
次へ >
Docker Composeネットワーク(開発者向けの仕組み)