メインコンテンツへスキップ
このガイドはローカル開発を目的としています。本番環境へのデプロイについては、 Kodusのデプロイガイドを参照してください。

前提条件

  • Node.js(LTSバージョン)
  • Docker
  • YarnまたはNPM
  • LLM APIキー

プロジェクトの実行

クイックかつ自動化されたセットアップには、セットアップスクリプトを使用してください:
git clone https://github.com/kodustech/kodus-ai.git
cd kodus-ai
yarn setup
このスクリプトは自動的に以下を行います:
  • ✅ 必要な依存関係(Node.js、Yarn、Docker、OpenSSL)をすべて確認
  • ✅ プロジェクトの依存関係をインストール
  • .envファイルを作成・設定
  • ✅ 必要なセキュリティキーをすべて自動生成
  • ✅ Dockerネットワークをセットアップ
  • ✅ 次のステップを明確に提示

LLMモードの選択(必須)

モードを1つ選択し、サービスを開始する前に.envに入力してください。

次のステップ

基本セットアップ:
yarn docker:start
yarn migrate:dev
yarn seed
外部インテグレーション(Webhooksなど)を使用する場合:
yarn docker:start
yarn migrate:dev
yarn seed
yarn tunnel  # 外部サービス用のパブリックエンドポイントを作成
すべてが起動したら、ブラウザで http://localhost:3000 を開いてください。

開発ワークフロー

基本的なローカル開発

  1. サービスの起動: yarn docker:start
  2. マイグレーションの実行: yarn migrate:dev
  3. シードデータの読み込み: yarn seed
  4. アプリを開く: http://localhost:3000にアクセス
  5. ヘルスチェック: yarn dev:health-check

外部インテグレーションを使用した開発

外部サービス(GitのWebhookなど)とのインテグレーションをテストする必要がある場合:
  1. サービスの起動: yarn docker:start && yarn migrate:dev && yarn seed
  2. トンネルの作成: yarn tunnel(パブリックエンドポイントを作成)
  3. Webhook URLの更新: トンネルコマンドが.envを自動的に更新します
  4. Gitプロバイダーの設定: Gitプロバイダーの設定でトンネルURLを使用
  5. インテグレーションのテスト: WebhookをトリガーしてログをモニタリングJP
トンネルのメリット:
  • 本物のWebhookインテグレーションをローカルでテスト
  • 外部サービス通信のデバッグ
  • チームメンバーとの開発環境の共有
  • モバイルアプリやその他の外部クライアントのテスト

トラブルシューティング

クイックヘルスチェック

yarn dev:health-check
この包括的なヘルスチェックは以下を検証します:
  • サービス: Kodus API、Worker、Webhooks、Web、PostgreSQL、MongoDB、RabbitMQ
  • 🔌 ポートの可用性: Web(3000)、API(3001)、PostgreSQL(5432)、MongoDB(27017)、RabbitMQ(5672/15672)
  • 🗄️ データベースセットアップ: マイグレーションとシードデータ
  • 🌐 APIエンドポイント: ヘルスエンドポイントと基本的な接続性

手動での確認

  1. Web UIの確認: ブラウザでhttp://localhost:3000にアクセス
  2. APIヘルスの確認: http://localhost:3001/healthにアクセス
  3. RabbitMQの確認: http://localhost:15672にアクセス(デフォルト認証情報: guest/guest
  4. データベース接続の確認: ログでデータベース接続の成功を確認
  5. Webhookエンドポイントのテスト: Gitプロバイダーの設定でhttp://localhost:3332/[provider]/webhookを指定(またはリバースプロキシが/.../webhookをWebhooksサービスにルーティングする場合はAPIドメインを使用)

セットアップスクリプトの問題

自動セットアップスクリプト(yarn setup)が失敗した場合: 依存関係が見つからない場合:
# 必要なツールがすべてインストールされているか確認
node --version
yarn --version
docker --version
openssl version
Dockerのパーミッション問題:
# ユーザーをdockerグループに追加(Linux/macOS)
sudo usermod -aG docker $USER
# その後、ログアウトして再度ログイン
ネットワーク作成エラー:
# ネットワークが既に存在するか確認
docker network ls | grep kodus
# 必要に応じて競合するネットワークを削除
docker network rm kodus-backend-services shared-network

よくある問題

ポートの競合:
  • ポート3000(Web)、3001(API)、5432(PostgreSQL)、27017(MongoDB)、5672/15672(RabbitMQ)が使用可能であることを確認
  • Kodusを起動する前にこれらのポートを使用している他のサービスを停止
環境変数が読み込まれない:
  • プロジェクトルートに.envファイルが存在することを確認
  • 変数の代入にトレーリングスペースがないことを確認
  • 必要なセキュリティキーがすべて正しく生成されたことを確認
ヘルスチェックの失敗:
  • yarn dev:health-checkを実行して詳細な診断を確認
  • コンテナが完全に起動しているか確認(yarn docker:start後、1〜2分待機)
  • データベースマイグレーションとシードデータが読み込まれていることを確認
  • yarn docker:logsでAPIのログを確認して起動エラーを確認
APIが応答しない:
  • APIはコンテナ起動後に完全に初期化されるまでに時間がかかります
  • マイグレーションとシードデータが読み込まれているか確認
  • .envファイルに必要な変数がすべて含まれていることを確認
  • ヘルスチェックを実行して、どの特定のコンポーネントが失敗しているかを確認
外部サービスとのWebhookの問題:
  • yarn tunnelを使用して外部Webhook用のパブリックエンドポイントを作成
  • GitプロバイダーのWebhook URLをトンネルURLに更新
  • Webhookインテグレーションのテスト中はトンネルNが稼働していることを確認
  • トンネルのログで接続の問題を確認