コントリビューターの方へ
Firecrawl をセルフホストする
なぜ?
- セキュリティとコンプライアンスの強化: セルフホスティングにより、すべてのデータの取り扱いと処理を社内外の規制に適合させ、機密情報を自社の安全なインフラ内に保つことができます。なお、Firecrawl は Mendable の製品であり、SOC 2 Type II 認証に準拠しているため、プラットフォームはデータセキュリティ管理に関する高い業界基準を満たしています。
- サービスのカスタマイズ: セルフホスティングにより、Playwright サービスなどを特定のニーズに合わせて調整し、標準的なクラウド提供ではサポートされない可能性のあるユースケースにも対応できます。
- 学習とコミュニティへの貢献: 自身でインスタンスを構築・運用することで、Firecrawl の動作をより深く理解でき、プロジェクトへのより実践的な貢献にもつながります。
留意事項
- Fire-engine へのアクセス制限: 現時点では、自己ホスト型の Firecrawl インスタンスは Fire-engine を利用できません。Fire-engine には、IP ブロック対応、ボット検知メカニズムなどの高度な機能が含まれます。つまり、基本的なスクレイピングは可能でも、より複雑なケースでは追加の設定が必要になったり、サポート対象外となる場合があります。
- 手動設定が必要: 基本的な
fetchおよび Playwright オプションを超えるスクレイピング手法を用いる場合は、.envファイルでの手動設定が必要です。これは関連技術への深い理解を要し、セットアップに時間がかかる可能性があります。
手順
- まず、依存関係をインストールします
- Docker のインストール手順
- 環境変数を設定する
.env を作成し、apps/api/.env.example のテンプレートをコピーします
最初は、認証や任意のサブサービス(PDF 解析、JS ブロック機能、AI 機能)は設定しません
以下の AI 機能を使用するには、LLM プロバイダーの設定が必要です(例:
OPENAI_API_KEY または上記の AI 機能セクションに記載の代替プロバイダー用キー):- スクレイプ時の JSON 形式
/extractAPI- 要約形式
- ブランディング形式
- 変更追跡形式
-
(オプション) TypeScript Playwright Service で実行する
-
docker-compose.ymlを更新して、Playwright サービスを次のように変更します:をに変更 -
.envファイルでPLAYWRIGHT_MICROSERVICE_URLを設定します: -
必要に応じて、
.envファイルでプロキシサーバーも設定してください。
-
-
Docker コンテナをビルドして起動します:
http://localhost:3002 でアクセス可能なローカルの Firecrawl インスタンスが起動します。
http://localhost:3002/admin/@/queues で Bull Queue Manager の UI を確認できます。
- (オプション) API をテストする
トラブルシューティング
Supabase クライアントが構成されていません
認証をバイパスしている
Docker コンテナが起動しない
- 必要な環境変数がすべて .env ファイルで正しく設定されていることを確認してください。
- docker-compose.yml で定義されているすべての Docker サービスが正しく構成され、必要なイメージが利用可能になっていることを確認してください。
Redis への接続問題
- Docker 環境内で Redis サービスが起動しており、正常に動作していることを確認する。
.envファイル内のREDIS_URLおよびREDIS_RATE_LIMIT_URLが正しい Redis インスタンスを指していることを確認する。- Redis のポートへの接続をブロックしている可能性のあるネットワーク設定やファイアウォールのルールを確認する。
API エンドポイントが応答しない
- Docker コンテナのステータスを確認し、Firecrawl サービスが稼働していることを確認する。
- .env ファイルの PORT と HOST の設定が正しいこと、また同じポートを他のサービスが使用していないことを確認する。
- API リクエストを送信するクライアントからホストへアクセス可能であることを確認するため、ネットワーク構成を確認する。

