動作要件
セルフホスティングの Nodaro に必要なのは、Compose v2 を含む Docker 24 以降、Supabase のデータベース、S3 互換ストレージ、ポート、そしてプロバイダーキーか Nodaro Cloud への接続です。
セルフホスティングの Nodaro の動作要件は 5 つです。Docker、ログイン機能を備えたデータベース、S3 互換のオブジェクトストレージ、Redis、そして 1 つ以上のモデルプロバイダーです。Community エディション用の Compose スタックにはデータベース、ストレージ、Redis が同梱されているため、1 台のサーバーで動かすなら、必要なのは Docker とモデルプロバイダーだけです。このページのそれ以外の項目は、任意か、本番環境向けのものです。
必要なもの
| 要件 | Compose スタックに同梱 | 自分で用意する場合 |
|---|---|---|
| Docker 24 以降と Docker Compose v2 | — | 必須です。docker-compose ではなく、docker compose として呼び出します。 |
| データベースとログイン | Supabase Postgres、GoTrue、PostgREST。マイグレーションは起動時に適用されます。メールアドレスとパスワードでアカウントを登録できます。 | マネージドの Supabase プロジェクト。無料プランで十分です。プロジェクトの URL、service-role キー、anon キーが必要で、マイグレーションは自分で適用します。 |
| オブジェクトストレージ | MinIO。メディアは自分のディスクに保存されます | S3 互換の任意のストレージ。動作確認済み:Cloudflare R2(推奨。エグレス料金なし)、AWS S3、MinIO、Backblaze B2。 |
| キュー | Redis 7 | 自分で用意した Redis。クラスターや Sentinel のエンドポイントも使えます |
| モデルプロバイダー | — | 1 つ以上のプロバイダーキー、または Nodaro Cloud への接続 |
Nodaro はブラウザーに公開のメディア URL を渡すため、メディアはユーザーのブラウザーからログインなしで読み取れる必要があります。同梱の MinIO は、アプリ自身のアドレスの /storage/ 以下でこれを実現しています。自分のバケットを使う場合は、オブジェクトストレージを設定するを参照してください。
モデルプロバイダー
AI モデルを呼び出すノードには、プロバイダーが必要です。プロバイダーがなくても環境は起動し、デモも開けますが、モデルを使うノードはどれも実行できません。/setup ページか .env で、次のキーを 1 つ以上追加してください。
| 変数 | 使えるようになるもの |
|---|---|
KIE_API_KEY | 最も多くのモデルに対応:画像、動画、オーディオ、テキストのモデル |
REPLICATE_API_TOKEN | 独自のカタログを持つ、別のプロバイダー |
ANTHROPIC_API_KEY | テキストノードで使う Claude のモデル |
ELEVENLABS_API_KEY | 音声機能:テキストから音声、吹き替え、ボイスチェンジャー、強制アライメント |
FAL_KEY | 任意です。Sync Lipsync v3 などのモデルに使います。このキーがない場合、それらのモデルは使えませんが、アプリのほかの部分には影響しません。 |
キーの代わりに、環境を Nodaro Cloud アカウントに接続することもできます。Nodaro Cloud への接続を参照してください。特定のノードで使うキーも含めた全一覧は、プロバイダーキーにあります。
任意で用意するもの
- Node.js 22 以降:開発のために、API やワーカーを Docker の外で動かす場合に必要です。
tools/にあるコマンドラインのプローブとキー生成ツールも、Node.js で動きます。 - ドメイン名と TLS 証明書:本番環境で必要です。リバースプロキシと HTTPS を参照してください。
ポート
| ポート | 使用するもの | Compose ファイルで公開 |
|---|---|---|
3000 | アプリ:エディター、API、メディア、ログインを、すべて 1 つのオリジンで提供 | はい |
9001 | MinIO コンソール(トラブルシューティング用) | はい(127.0.0.1 のみ) |
80 と 443 | HTTPS 用のリバースプロキシ | Nodaro では公開しません |
9000 | コンテナ内の API。MCP クライアントは、このポートに直接アクセスする必要があります。 | いいえ。MCP を参照してください。 |
Redis とデータベースは Compose のネットワーク内部で動き、ホストマシンのポートは使いません。3000 や 9001 がすでに使われている場合は、docker-compose.community.yml で、そのポートマッピングのホスト側を変更してください。
ディスク
- イメージ:初回起動時に、約 2.4 GB をダウンロードします。
- ボリューム:
db-dataにはデータベース、minio-dataにはメディア、redis-dataにはキュー、app-dataにはインスタンスの暗号化キーが保存されます。Nodaro は保存したメディアを自動では削除しないため、メディアのボリュームは結果が増えるたびに大きくなります。古いメディアを一定期間後に削除したい場合は、バケットにライフサイクルルールを追加してください。スケーリングを参照してください。
マシンのサイズ
デフォルトの構成では、すべてを 1 つのコンテナで動かします。アクティブユーザーが 5 人程度までなら、この構成で問題ありません。最も重い処理はレンダリングです。レンダリングワーカーはヘッドレス Chrome を動かし、CPU がボトルネックになるため、レンダリングワーカーは 1 台のマシンにつき 1〜2 個を目安にしてください。ユーザーがそれより多い場合は、ワーカーを複数のコンテナに分けます。スケーリングを参照してください。
アプリのイメージには、amd64 と arm64 のマシン向けのビルドがあります。
Windows
Windows では、バックアップと復元のスクリプトを、PowerShell や WSL ではなく Git Bash(Git for Windows と一緒にインストールされるシェル)から実行してください。バックアップと復元を参照してください。
よくある質問
関連ページ
クイックスタート
インストール
プロバイダーキー
データベース
スケーリング
最終更新