想要贡献?
自托管 Firecrawl
为什么?
- 更强的安全性与合规性: 通过自托管,您可确保所有数据的处理与处理流程符合内外部合规要求,并将敏感信息留在自有的安全基础设施中。请注意,Firecrawl 是 Mendable 的产品,并通过了 SOC 2 Type II 认证,这意味着该平台在数据安全管理方面遵循严苛的行业标准。
- 可定制的服务: 自托管使您能够按需定制服务(例如 Playwright 服务),以满足特定需求,或处理标准云服务可能不支持的用例。
- 学习与社区贡献: 通过搭建并维护自有实例,您将更深入理解 Firecrawl 的工作原理,也更有助于为项目做出更有价值的贡献。
注意事项
- 对 Fire-engine 的访问受限: 目前,自托管的 Firecrawl 实例无法使用 Fire-engine,其包含处理 IP 封禁、机器人检测等高级功能。这意味着虽然你可以完成基础抓取任务,但更复杂的场景可能需要额外配置,或可能无法支持。
- 需要手动配置: 如果你需要使用超出基础
fetch
和 Playwright 选项的抓取方法,则需在.env
文件中手动配置。这要求对相关技术有更深入的理解,并可能增加设置时间。
步骤
- 首先安装依赖
- Docker 安装指南
- 设置环境变量
.env
文件,你可以复制 apps/api/.env.example
中的模板
起步时,我们不配置身份验证,也不启用任何可选的子服务(PDF 解析、JS 阻止支持、AI 功能)
-
(可选) 使用 TypeScript Playwright 服务运行
-
更新
docker-compose.yml
文件以更改 Playwright 服务:改为 -
在你的
.env
文件中设置PLAYWRIGHT_MICROSERVICE_URL
: -
别忘了按需在
.env
文件中设置代理服务器。
-
更新
-
构建并运行 Docker 容器:
http://localhost:3002
访问。
你应该能够在 http://localhost:3002/admin/@/queues
查看 Bull Queue Manager 界面。
- (可选) 测试 API
疑难解答
未配置 Supabase 客户端
你正在绕过身份验证
Docker 容器无法启动
- 确保在 .env 文件中正确设置所有必需的环境变量。
- 确认 docker-compose.yml 中定义的所有 Docker 服务均已正确配置,且所需镜像已就绪可用。
与 Redis 的连接问题
- 确认 Redis 服务已在 Docker 环境中正常运行。
- 核对 .env 文件中的 REDIS_URL 和 REDIS_RATE_LIMIT_URL 是否指向正确的 Redis 实例。
- 检查网络设置和防火墙规则,是否阻止了对 Redis 端口的连接。
API 端点无响应
- 检查 Docker 容器状态,确保 Firecrawl 服务正在运行。
- 核对 .env 文件中的 PORT 和 HOST 配置是否正确,并确认没有其他服务占用同一端口。
- 检查网络配置,确保发起 API 请求的客户端可访问该主机。