メインコンテンツまでスキップ

デプロイ

Page summary:

デプロイにはハード/ソフト要件、環境変数の設定、公開前の管理パネルのビルドが含まれます。ドキュメントにはプロバイダー別・高度な手順へのリンクがあり、ホスティング戦略の選択に役立ちます。

Strapi にはプロジェクトやアプリケーション向けのデプロイ選択肢が多数あります。従来型のホスティングサーバーや、好みのクラウドプロバイダーにデプロイできます。

以下では、一般的なホスティング向けに Strapi を準備する基本を説明します。

Strapi Cloud

Strapi Cloud でプロジェクトを手早くデプロイ・ホストできます。

Tip

ローカル(開発)の Strapi でコンテンツタイプビルダーにより構造を作り、コンテンツマネージャーでデータを入れ済みの場合、データ管理 でインスタンス間の移行に使えます。

別の流れとして、まずローカルで構造だけ作成し、Git リポジトリにプッシュして本番へデプロイし、その後に本番インスタンスへコンテンツを追加する方法もあります。

Caution

セルフホストの Kubernetes では pnpm より npm を推奨します。pnpm の積極的な hoisting は、アプリが依存する mysql2 などのネイティブモジュールを壊すことがあります。npm のフラットで予測しやすい node_modules 構成の方が、ネイティブパッケージの読み込みに有利です。

一般的な指針

ハードウェアとソフトウェアの要件

Strapi に適した環境のために、開発(ローカル)およびステージング・本番の各ワークフローで次を満たしてください。

Strapi をインストールする前に、次の要件をコンピューターに用意してください。

  • Node.js: Active LTS または Maintenance LTS のみサポート(現状 v20v22v24)。奇数バージョンの「current」リリース(例: v23、v25)はサポートされません。
  • 好みの Node.js パッケージマネージャー:
  • Python(SQLite データベースを使う場合)
  • OS 向けの標準ビルドツール(多くの Debian 系では build-essentials パッケージ)

  • サーバーのハードウェア(CPU、RAM、ストレージ):

    ハードウェア推奨最小
    CPU2 コア以上1 コア
    メモリ4GB 以上2GB
    ディスク32GB 以上8GB
  • 対応バージョンのデータベース:

データベース推奨バージョン最小バージョン
MySQL8.48.0
MariaDB11.410.3
PostgreSQL17.014.0
SQLite33

Strapi は MongoDB を含む NoSQL データベースには対応していません。また Amazon Aurora や Google Cloud SQL などの「クラウドネイティブ」データベースもサポート対象外です。

データベースのデプロイ

Strapi と一緒にデータベースを載せる手順は データベースガイド を参照してください。

  • 対応オペレーティングシステム:

    オペレーティングシステム推奨最小
    Ubuntu (LTS)24.0420.04
    Debian11.x10.x
    RHEL10.x8.x
    macOS26.011.x
    Windows Desktop1110
    Windows Server非対応非対応

アプリケーション設定


1. 設定

環境ごとに環境変数で設定することを推奨します。例:

/config/server.js

module.exports = ({ env }) => ({
host: env('HOST', '0.0.0.0'),
port: env.int('PORT', 1337),
});

新規プロジェクト作成時に Strapi は既定値入りの .env を生成します。このファイルを編集するか、利用するデプロイプラットフォーム側で変数を設定します(.env の例)。

HOST=10.0.0.1
PORT=1338
Tip

設定の詳細は 設定 ドキュメントを参照してください。

2. サーバーを起動する

本番でサーバーを動かす前に、管理パネルを production 向けにビルドします。

NODE_ENV=production yarn build

production 設定でサーバーを起動します。

NODE_ENV=production yarn start
Caution

プロセス管理には pm2 の利用を強く推奨します。

npm run start ではなく node server.js で動かしたい場合は、次の ./server.js を作成します。

path: ./server.js

const strapi = require('@strapi/strapi');
strapi.createStrapi(/* {...} */).start();
Caution

TypeScript ベースのプロジェクトでは、サーバー起動時に distDir オプションが必要です。 詳しくは TypeScript ドキュメント を参照してください。

ヘルスチェック用エンドポイント

Strapi は /_health に軽量なヘルスチェックルートを公開します(アップタイム監視やロードバランサー向け)。サーバー準備ができていると HTTP 204 No Content とヘッダー値 strapi: You are so French! で応答し、アプリ到達性の確認に使えます。

高度な設定

管理画面を API とは別サーバーでホストする場合は、こちらの専用の節 を参照してください。

その他のリソース

Prerequisites

Strapi サイトの インテグレーションページ には、多くのサービスとの連携情報があります。次のサードパーティプラットフォームへのデプロイも掲載されています。


加えて、Strapi フォーラム にコミュニティ管理の各種ガイドがあります。例:


Strapi が公式に保守しているわけではありませんが、次の外部ガイドも参考になります。

マルチテナンシー

マルチテナンシーの選択肢については、Strapi ブログの 総合ガイド を参照してください。