本地部署 Firecrawl
Firecrawl 是什么?
Firecrawl 是一款功能强大的网页爬取和数据分析工具,为用户提供高效、可靠的爬虫能力。当你需要在云端服务和自托管方案之间做出选择时,选择自行部署 Firecrawl 显得尤为突出。如果你关注数据安全及合规性,那么自托管 Firecrawl 更加适合你的需求。
自主部署的意义
为什么选择自主部署 Firecrawl?
- 增强的安全性和合规性:
通过自主部署,所有数据处理流程都可以按照组织内部和外部的合规标准执行,并确保敏感数据始终保存在受控环境中。此外,Firecrawl 是一个具有 SOC2 Type2 认证的 Mendable 产品,严格遵守行业内关于数据管理的最高标准。 - 服务的定制化:
自主部署允许您按照自己的需求配置服务,例如为特定应用场景调整 Playwright 服务或自定义功能模块,满足一些云端解决方案无法涵盖的需求。 - 学习和社区贡献:
自行搭建和维护 Firecrawl,不仅可以深入了解其运行机制,还能为开源社区的改进贡献自己的力量。
自主部署的局限性
需要注意的是,自主部署虽然带来了完全的控制权,但同时也需要承担一定的维护和配置工作。
- 有限的 Fire-engine 访问:
当前,自托管的 Firecrawl 实例无法使用 Fire-engine 中的高级功能,例如处理 IP 封锁和机器人检测机制。这意味着在处理复杂场景时,可能需要更多的手动配置。 - 需要手动配置:
如果需要超出基本功能的抓取方法(如 JS 屏蔽支持等),您需要在.env
文件中手动进行设置,这可能需要一定的技术经验。
自主部署 Firecrawl 的步骤
1. 安装依赖项
根据您的环境(如 Docker 或本地环境)安装必要的软件包。
git clone https://github.com/mendableai/firecrawl.git
2. 设置环境变量
在项目根目录中创建 .env
文件,可参考 apps/api/.env.example
文件模板。以下是必要配置:
# 核心配置
NUM_WORKERS_PER_QUEUE=8
PORT=3002
HOST=0.0.0.0
REDIS_URL=redis://redis:6379
PLAYWRIGHT_MICROSERVICE_URL=http://playwright-service:3000/html
# 数据库及其他可选配置(如未设置可跳过)
USE_DB_AUTHENTICATION=false
SUPABASE_URL=
OPENAI_API_KEY=
LOGGING_LEVEL=INFO
3. 使用 Docker 启动服务
修改 docker-compose.yml
中 Playwright 服务的设置:
build: apps/playwright-service
# 替换为 TypeScript 版本
build: apps/playwright-service-ts
运行 Docker 命令启动服务:
docker compose build
docker compose up
本地实例将运行在 http://localhost:3002
,可通过浏览器访问 Bull Queue Manager UI: http://localhost:3002/admin/@/queues
。
4. API 测试
可以通过以下命令测试 crawl
接口是否正常工作:
curl -X POST http://localhost:3002/v0/crawl \
-H 'Content-Type: application/json' \
-d '{
"url": "https://docs.firecrawl.dev"
}'
常见问题及解决方案
1. Supabase 客户端未配置
- 错误日志:
Supabase client is not configured.
- 解决方法:无须担心,该问题不会影响爬虫抓取功能。目前自托管实例无法配置 Supabase,忽略此警告即可。
2. Docker 容器启动失败
- 解决方法:
- 确保
.env
文件的必需变量已正确设置; - 检查 Docker 日志:
docker logs [container_name]
。
- 确保
3. Redis 连接问题
- 错误信息:
Connection refused
或超时。 - 解决方法:
- 确认 Redis 服务正在运行;
- 验证
.env
文件中的REDIS_URL
是否正确。
4. 接口无响应
- 检查服务状态:确保 Docker 容器在运行;
- 检查
.env
中的PORT
和HOST
设置无误。
Kubernetes 集群部署
如果需要在 Kubernetes 中部署,请参考 examples/kubernetes-cluster-install/README.md
获取详细指导。
通过以上步骤,您可以轻松部署并运行 Firecrawl,在自己的环境中实现高效的数据抓取和分析!
更多部署细节请查看官方文档
Firecrawl Docs
Learn how to self-host Firecrawl to run on your own and contribute to the project.