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

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

What is Docker?

Docker is a free, open-source framework that automates the deployment and scaling of applications within lightweight containers. It packages application code together with all dependencies, such as libraries, tools, and configurations, within one package and runs uniformly across any environment, be it your developer's laptop, the test server, or the actual production cloud server.

Containers are not the same as traditional virtual machines. Containers share the OS kernel of a host system, thus making it much more efficient and faster to launch.

Essentially, Docker defines an application and its environment through Docker images, which are templates for the creation of containers. Orchestration tools include Docker Compose for multi-container applications, and Docker Hub is the central repository where we share images.

What is Nextcloud?

Nextcloud Docker Compose illustrates how to use Docker containers to provide an isolated, portable, and scalable environment for the self-hosted cloud storage application Nextcloud. This popular solution supports file storage and sharing, calendars, contacts, and more, while allowing full control over data.

It simplifies the setup because dependencies like PHP and the web server are contained within one container; Docker makes installing and managing Nextcloud much easier. This also guarantees that everything runs identically across different environments, allowing smooth deployments onto different systems.

Running Nextcloud in Docker is easy, modular, and scalable. For example, in a multi-container setup using Docker Compose, you run separate containers for the Nextcloud database (e.g., MySQL or MariaDB), caching (e.g., Redis), and the Nextcloud application itself. This adds flexibility, allowing for easier management and scalability of Nextcloud instances.

Features of Nextcloud

Nextcloud Docker offers ease of deployment and management features with all the major key features listed below:

  • Simplified Setup: Easy installation due to Docker's ability to carry all dependencies, such as PHP and web servers, within a single container, facilitating hassle-free installation and configuration.
  • Portability: Docker containers are portable across different environments and nodes, preventing compatibility issues when moving your Nextcloud instance between servers or cloud environments.
  • Isolation: Containers are insulated from the host system and other containers, ensuring dependencies and configurations do not clash with other services on the same machine.
  • Scalability: Utilizing Docker Compose, you can easily scale Nextcloud by deploying additional containers for databases, caching, or load balancing services to achieve superior performance in large-scale environments.
  • Persistent Storage: By mounting storage volumes externally to the container, data persists even after container restarts or upgrades.
  • Easy Upgrades: Seamlessly upgrade Nextcloud or its dependencies via Docker by pulling a fresh image version and restarting the container; no confusing migrations are necessary.
  • Security: Docker's inherent isolation minimizes the attack surface by separating Nextcloud's environment from its host and other applications.

All these features make Nextcloud Docker an efficient solution for hosting your private cloud infrastructure.

Install Nextcloud

Prerequisites

  • Windows 10/11 (Pro, Enterprise, or Education) with WSL 2 support.
  • Docker Desktop is installed and running on Windows.
  • Basic familiarity with using a terminal or command prompt.

Pull the Nextcloud Docker Image

Pull the official Nextcloud Docker image from Docker Hub by running the following command in your terminal:

docker pull nextcloud
docker pull nextcloud
SHELL

Alternatively, open the Docker application and search for "nextcloud" in the search box.

To run the Nextcloud installation, use the command below in the command prompt:

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

This command will download the Nextcloud image and create a new container, exposing it on port 8080.

Setup MariaDB for the Database

Nextcloud requires a database to store its data. We can use MariaDB as a drop-in replacement for MySQL.

First, pull the MariaDB image:

docker pull mariadb
docker pull mariadb
SHELL

Create the MariaDB container using this command:

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

Replace your_root_password and your_password with strong passwords of your choice. This command sets up a MariaDB container named nextcloud-db with a database called nextcloud and a user named nextcloud_user.

Nextcloud Web Interface

Access the Nextcloud installation by opening a web browser and entering the server's IP address or domain name where Nextcloud is hosted. For local installations, use:

http://localhost:8080/

Setup the Admin Account

Upon accessing the setup page, create an admin user. The Nextcloud CLI is also available for managing configurations and setups if needed.

After entering the required information, configure the database connection:

  1. Database host: Use localhost for local databases or the database container name (e.g., nextcloud-db) if using Docker.
  2. Database username and password: Provided during the MariaDB setup.
  3. Database name: nextcloud in this example.

Fill in all the necessary details and click "Finish Setup" to complete the installation.

What is IronSecureDoc?

IronSecureDoc is a document security tool used for encrypting, redacting, and digitally signing sensitive files. It secures PDFs, allowing users to control personal data and confidential information effectively.

Install and Running IronSecureDoc

Pull the IronSecureDoc Docker image using:

docker pull ironsoftwareofficial/ironsecuredoc
docker pull ironsoftwareofficial/ironsecuredoc
SHELL

To run the IronSecureDoc container, use:

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

Replace <IRONSECUREDOC_LICENSE_KEY> with your actual license key. This command launches the IronSecureDoc container, exposing it on port 8080.

Using IronSecureDoc with Docker Container

IronSecureDoc can be accessed through its REST API after installation. Documentation and API endpoints can be found at http://localhost:8080/swagger/index.html.

To submit a document for encryption, use a POST request via curl:

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

This forwards the document to IronSecureDoc, applying the appropriate encryption.

Conclusion

Nextcloud and IronSecureDoc serve different purposes in secure data handling. Nextcloud is a robust, self-hosted cloud platform for managing and sharing data, offering full privacy control and scalability via Docker. IronSecureDoc provides advanced document encryption, ensuring secure handling of sensitive files. Integrating with Docker makes both solutions suitable for scalable, secure environments.

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
テクニカルライター

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

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