# システム要件

本ドキュメントに記載されているシステム要件は、**NocoBase アプリケーションサービス自体**の実行要件であり、アプリケーションプロセスが必要とする計算リソースおよびメモリリソースのみを対象としています。以下のサービスを含む、**依存するサードパーティサービスは含まれません**。

- API ゲートウェイ / リバースプロキシ
- データベースサービス（例：MySQL、PostgreSQL）
- キャッシュサービス（例：Redis）
- メッセージキュー、オブジェクトストレージなどのミドルウェア

機能検証や試験的なシナリオを除き、**上記のサードパーティサービスは独立したサーバーまたはコンテナにデプロイする**か、関連するクラウドサービスを直接利用することを強く推奨します。

関連サービスのシステム構成およびキャパシティプランニングは、**実際のデータ量、業務負荷、および同時実行規模**に基づいて、個別に評価およびチューニングを行う必要があります。

## オペレーティングシステム

本番環境では、Ubuntu LTS、Debian、Rocky Linux、AlmaLinux などの Linux サーバーを推奨します。Docker、リバースプロキシ、プロセス管理、ログ、バックアップの運用は Linux 上でより成熟しており、一般的なクラウドサーバー環境とも連携しやすくなります。

NocoBase は Windows Server にもインストールできます。Windows Server を選択する場合は、実際のデプロイ方法に合わせて Node.js、データベース、リバースプロキシ、プロセス監視、バックアップ、ファイル権限、ファイアウォールなどを確認してください。

macOS は通常、ローカル開発やテストに適しており、本番サーバーとしては推奨されません。開発や AI Agent 利用のためにローカルで NocoBase をセットアップする場合は、[Local Development Setup](../ai/local-development-setup.md) を参照してください。

## シングルノードデプロイモード

シングルノードデプロイモードとは、NocoBase アプリケーションサービスを単一のサーバーまたはコンテナインスタンスで実行する形態を指します。

### 最低ハードウェア要件

| リソース | 要件 |
|---|---|
| CPU | 1 コア |
| メモリ | 2 GB |

**適用シナリオ**：

- マイクロビジネス
- 機能検証（POC）
- 開発 / テスト環境
- 同時アクセスがほとんどないシナリオ

:::info{title=ヒント}

- この構成はシステムの動作を保証するものであり、パフォーマンスを保証するものではありません。
- データ量や同時リクエストが増加すると、システムリソースがすぐにボトルネックになる可能性があります。
- **ソースコードからの開発、プラグイン開発、またはソースコードからのビルド・デプロイ**を行う場合は、依存関係のインストール、コンパイル、およびビルドプロセスをスムーズに完了させるために、**4 GB 以上の空きメモリ**を確保することを推奨します。

:::

### 推奨ハードウェア要件

| リソース | 推奨構成 |
|---|---|
| CPU | 2 コア |
| メモリ | ≥ 4 GB |

**適用シナリオ**：

中小規模の業務および少数の同時実行が発生する本番環境に適しています。

:::info{title=ヒント}

- この構成では、一般的な管理画面の操作や軽量な業務負荷に対応可能です。
- 業務の複雑さ、同時アクセス、またはバックグラウンドタスクが増加した場合は、ハードウェアスペックのアップグレードやクラスターモードへの移行を検討してください。

:::

## クラスターモード

中大規模および同時実行数が多い業務シナリオに適しており、水平スケーリングによってシステムの可用性と業務スループットを向上させることができます（詳細は[クラスターモード](/cluster-mode)を参照してください）。

### ノードのハードウェア要件

クラスターモードでは、各アプリケーションノード（Pod / インスタンス）のハードウェア構成は、シングルノードデプロイモードと同じ設定を推奨します。

**単一ノードの最低構成：**

- CPU：1 コア
- メモリ：2 GB

**単一ノードの推奨構成：**

- CPU：2 コア
- メモリ：4 GB

### ノード数の計画

- クラスター内のノード数は必要に応じて拡張可能です（2～N）。
- 実際に必要なノード数は以下に依存します：
  - 同時アクセス数
  - 業務ロジックの複雑さ
  - バックグラウンドタスクと非同期処理の負荷
  - 外部依存サービスのレスポンス性能

本番環境での推奨事項：

- モニタリング指標（CPU、メモリ、リクエスト遅延など）に基づいて、ノード規模を動的に調整する。
- トラフィックの変動に備え、一定のリソースの冗余（バッファ）を確保する。
