---
title: "JSS Next.jsアプリ用のSitecoreコンテナテンプレート"
slug: "the-sitecore-containers-template-for-jss-next-js-apps"
abstract: "Dockerコンテナテンプレートの概要:SitecoreファーストのJSS Next.jsアプリをスキャフォールディングするためのテンプレート。"
---
# JSS Next.jsアプリ用のSitecoreコンテナテンプレート

Sitecoreコンテナを用いたNext.jsテンプレートは、開発者が[JSS Next.jsアプリ向けにフルスタックのSitecore初開発環境を構築する](https://doc.sitecore.com/xp/ja/developers/hd/19/sitecore-headless-development/walkthrough--setting-up-a-development-environment-with-the-sitecore-containers-template-for-next-js.html "Walkthrough: Setting up a development environment with the Sitecore Containers template for Next.js")のを支援するために作成されました。

JSS Next.jsアプリ用のSitecoreコンテナテンプレートは、[Docker](https://www.docker.com/)、[JSS for Next.js](https://doc.sitecore.com/xp/ja/developers/hd/19/sitecore-headless-development/sitecore-javascript-rendering-sdk--jss--for-next-js.html "Sitecore JavaScript Rendering SDK (JSS) for Next.js")、[Sitecore Content Serialization](https://doc.sitecore.com/xp/en/developers/102/developer-tools/sitecore-content-serialization.html)で構築されています。

> !注簡単さのために、このソリューションはソリューションアーキテクチャの[Sitecore Helix慣例](https://helix.sitecore.com/principles/index.html) を実装していません。Sitecoreソリューションの構築を始める前に、モジュラーソリューションアーキテクチャの実装に関する指針として[Sitecore Helix](https://helix.sitecore.net/)と[Sitecore Helix例](https://sitecore.github.io/Helix.Examples/)をご確認することをお勧めします。

テンプレートには以下が含まれます:

-   Next.jsレンダリングホストを持つSitecore XP0トポロジーのためのdocker-compose環境。
    
    > !注付属docker-compose.ymlは、Sitecoreコンテナサポートパッケージの標準XP0環境です。このソリューションのすべての変更・追加は、docker-compose.override.ymlに含まれています。
    
-   JSS Next.jsアプリケーションを初期化するためのスクリプト化された呼び出しjss createとjss deploy。
    
-   Sitecoreコンテンツシリアライゼーションの設定。
    
-   Sitecore Content Managementロールに設定とコードをデプロイするためのMSBuildプロジェクトです。詳細は、プロジェクト作成後にディレクトリ内のファイルをsrc\\platform.のファイルを確認してください。
    

> !重要Sitecoreは提供されるテンプレートの出力をサポートします。ソリューションを変更したり修正したりすると、それはカスタム実装となり、[Sitecoreのサポート範囲](https://kb.sitecore.net/articles/463549#ScopeOfSupport)で定められた制限の対象となります。

## 初期化スクリプト

Next.jsプロジェクト用のSitecoreコンテナテンプレートを使って作成されたソリューションには、設定を簡素化するPowerShellスクリプトが含まれています。スクリプトはプロジェクトのルートディレクトリにあるファイル .\\init.ps1に定義されています。スクリプトは [プロジェクトソリューションを作成する](https://doc.sitecore.com/xp/ja/developers/hd/19/sitecore-headless-development/walkthrough--setting-up-a-development-environment-with-the-sitecore-containers-template-for-next-js.html "Walkthrough: Setting up a development environment with the Sitecore Containers template for Next.js")手順の一部としてPowerShellで実行します。

PowerShellの \\.init.ps1は以下の作業を行います。

-   例えば、プロジェクトのホスト名のホストファイルエントリを生成します。 myproject.localhost。
-   プロジェクトのホスト名 \*.myproject.localhostに対して有効かつ信頼できるプライベート署名済みワイルドカード証明書を作成します。
-   \-InitEnvスイッチでスクリプトを実行する場合、.envファイルにSitecoreインスタンスに必要な環境変数値が入力されます。

ローカル環境では、Sitecoreインスタンスはプライベート署名済みの証明書を使ってインストールされます。.\\init.ps1mkcertユーティリティを使って証明書を生成します。Node.jsルートCAが不明であるため、これらの証明書は拒否します。

もしNode.jsでmkcertを使うのが初めてなら、[HTTPSエラーを防ぐためにNODE\_EXTRA\_CA\_CERTS環境変数を手動で設定](https://doc.sitecore.com/xp/ja/developers/hd/19/sitecore-headless-development/walkthrough--configuring-sitecore-ca-certificates-for-node-js.html "Walkthrough: Configuring Sitecore CA certificates for Node.js")する必要があります。

.\\init.ps1スクリプトは、ユーザーまたはシステム環境変数のNODE\_EXTRA\_CA\_CERTS環境変数の設定方法を指示します。

To avoid HTTPS errors, set the NODE\_EXTRA\_CA\_CERTS environment variable using the following command:
setx NODE\_EXTRA\_CA\_CERTS C:\\Users\\<username>\\AppData\\Local\\mkcert\\rootCA.pem

You will need to restart your terminal or VS Code for it to take effect.

> !注サンプルアプリケーションでは、開発者が初期化された環境変数を共有できるように、.envファイルをソース管理から除外していません。
> 
> .envファイルをソース管理に追加すれば、他の開発者は単にinit.ps1スクリプトを実行するだけで証明書を作成し、ファイルエントリをホストできます。
> 
> Sitecoreソリューションやそのデータが機密扱いの場合は、.envファイルをソース管理から除外し、情報を中央で設定する他の手段を提供することを推奨します。