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_URL と NUQ_RABBITMQ_URL を設定しないでください。これらの依存関係を自分で運用する場合にのみ設定してください。
Redis と Firecrawl を起動する#
まず、1 つのターミナルで Redis を起動します。
次に、別のターミナルで apps/api に移動し、Firecrawl を起動します:
start コマンドは、API をビルドし、API とワーカープロセスを起動するとともに、ローカルのキューコンテナを管理します。開発中は、このターミナルを開いたままにしてください。
ローカルで1回スクレイピングする#
APIプロセスが応答することを確認します:
想定されるレスポンス:
次に、スクレイピングのパスを試します。
成功したレスポンスには、success: true、data.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/.env の PORT を変更し、確認用のリクエストでも同じポートを使用してください。
基本的なフェッチは動作するが、ブラウザレンダリングは動作しない#
PLAYWRIGHT_MICROSERVICE_URL が空の場合、別途用意された Playwright サービスは無効のままになります。テスト中の変更で必要な場合にのみ、このサービスを起動・設定してください。
次のステップ#
- 開発ではなくデプロイが目的ですか? Firecrawlのセルフホスティングをご覧ください。
- まだどちらにするか迷っていますか? オープンソースとFirecrawl Cloudの比較をご覧ください。
- コントリビュートする準備はできましたか? ソースで管理されているコントリビューションガイドをご利用ください。

