コントリビューターの方へ
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 機能)は設定しません
-
(オプション) 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 リクエストを送信するクライアントからホストへアクセス可能であることを確認するため、ネットワーク構成を確認する。