Skip to main content
API、ワーカー、テストを変更する場合は、Firecrawl をローカルで実行します。この手順では開発用の依存関係をインストールし、API ハーネスとともにリポジトリ提供のサービスを起動します。
これはコントリビューター向けの開発環境であり、デプロイガイドではありません。 プロダクトを変更せずに、自身で管理するインフラで Firecrawl を実行する場合は、 Firecrawl のセルフホスティングを参照してください。

ローカル開発またはセルフホスティングを選択する

  • 現在のソースリビジョンに対してコードの変更・テスト・デバッグを迅速に繰り返す必要がある場合は、ローカルで開発する
  • 自身のインフラで安定した Docker Compose ベースラインを使用したい場合は、特定バージョンのリリースをセルフホストする
  • どちらの環境も運用せず、最も迅速に利用できるマネージド環境を求める場合は、Firecrawl Cloud を使用する
これらの環境は分けて使用してください。apps/api/.env の API 開発用ファイルとルートの Compose .env はそれぞれ異なるプロセスで使用されるため、互換性はありません。

Firecrawl 開発環境を起動する

前提条件をインストールする

以下をインストールします。
  • Git
  • Node.js 22
  • pnpm 11.4.0
  • Redis
  • API ハーネスが管理する PostgreSQL および RabbitMQ コンテナ用の Docker または Podman
  • Go 1.23 以降 (API ハーネスにより起動のたびに再ビルドされます)
  • Rust (@mendable/firecrawl-rs ネイティブパッケージ用に pnpm install 時にビルドされます)
API で使用するパッケージマネージャーのバージョンを有効にします。

Firecrawl をクローンし、依存関係をインストールする

apps/api/.env を作成し、認証なしの最小限の開発用構成を設定します:
ハーネスにローカルの PostgreSQL および RabbitMQ コンテナを作成させる場合は、NUQ_DATABASE_URLNUQ_RABBITMQ_URL を設定しないでください。これらの依存関係を自分で運用する場合にのみ設定してください。

Redis と Firecrawl を起動する

まず、1 つのターミナルで Redis を起動します。
次に、別のターミナルで apps/api に移動し、Firecrawl を起動します:
start コマンドは、API をビルドし、API とワーカープロセスを起動するとともに、ローカルのキューコンテナを管理します。開発中は、このターミナルを開いたままにしてください。

ローカルで1回スクレイピングする

APIプロセスが応答することを確認します:
想定されるレスポンス:
次に、スクレイピングのパスを試します。
成功したレスポンスには、success: truedata.markdown 内のMarkdown、data.metadata.statusCode 内のHTTPステータスが含まれます。

Firecrawl を変更してテストする

各変更は目的を絞り、正常系と関連する異常系を追加し、動作を検証できる最も限定的なソース管理下のテストコマンドを実行してください。 apps/api で、依存関係を含めて API スニペットスイートを実行します。
ハーネスはテストコマンド用に API、ワーカー、PostgreSQL、RabbitMQ を起動し、完了後に起動したプロセスをクリーンアップします。スニペットスイート全体を実行する必要がない場合は、対象を絞った Vitest のパスを使用してください。 コントリビューションの手順については、プルリクエストを作成する前に、リポジトリの CONTRIBUTING.md を確認してください。

開発環境のトラブルシューティング

Redis に接続できない

Redis が localhost:6379 で待ち受けており、apps/api/.env 内の両方の Redis URL がそのアドレスを使用していることを確認してください。

ハーネスが PostgreSQL または RabbitMQ を起動できない

Docker または Podman を起動してから、pnpm start を再実行してください。サービスを自分で管理している場合は、ハーネスが管理するコンテナに依存せず、接続 URL を明示的に設定してください。

ポート3002はすでに使用されています

別のプロセスを停止するか、apps/api/.envPORT を変更し、確認用のリクエストでも同じポートを使用してください。

基本的なフェッチは動作するが、ブラウザレンダリングは動作しない

PLAYWRIGHT_MICROSERVICE_URL が空の場合、別途用意された Playwright サービスは無効のままになります。テスト中の変更で必要な場合にのみ、このサービスを起動・設定してください。

次のステップ