选择本地开发还是自行托管
- 需要基于当前源代码版本快速进行编写、测试和调试时,请在本地开发。
- 希望在自己的基础设施上使用稳定的 Docker Compose 基线时,请自行托管固定版本。
- 希望以最快的托管方式使用 Firecrawl,而无需维护上述任一环境时,请使用 Firecrawl Cloud。
apps/api/.env 中的 API 开发配置文件与根目录的 Compose .env 分别用于不同的进程,不能互换。
启动 Firecrawl 开发环境
安装前置依赖
- Git
- Node.js 22
- pnpm
11.4.0 - Redis
- Docker 或 Podman,用于运行由 API 测试框架管理的 PostgreSQL 和 RabbitMQ 容器
- Go 1.23 或更高版本,API 测试框架会在每次启动时重新构建
- Rust,执行
pnpm install时会为@mendable/firecrawl-rs原生包构建 Rust 组件
克隆 Firecrawl 并安装依赖
apps/api/.env:
NUQ_DATABASE_URL 和 NUQ_RABBITMQ_URL。仅在您有意自行管理这些依赖项时才设置它们。
启动 Redis 和 Firecrawl
apps/api 目录启动 Firecrawl:
验证本地抓取
success: true、data.markdown 中的 Markdown 内容,以及 data.metadata.statusCode 中的 HTTP 状态码。
修改并测试 Firecrawl
apps/api 目录下,运行 API snippet 测试套件及其依赖项:
CONTRIBUTING.md,再创建 pull request。
排查开发环境问题
Redis 无法连接
localhost:6379,并确保 apps/api/.env 中的两个 Redis URL 都使用该地址。
测试框架无法启动 PostgreSQL 或 RabbitMQ
pnpm start。如果这些服务由你自行管理,请显式设置其连接 URL,而不要依赖测试框架管理的容器。
端口 3002 已被占用
apps/api/.env 中更改 PORT,然后在验证请求中使用相同的端口。
基本抓取可用,但浏览器渲染不可用
PLAYWRIGHT_MICROSERVICE_URL 留空会禁用独立的 Playwright 服务。仅当测试的变更需要该服务时,才启动并配置它。
下一步
- 需要部署而非开发? 请参阅自托管 Firecrawl。
- 还在选择方案? 比较开源版与 Firecrawl Cloud。
- 准备好贡献了吗? 请查看由源代码仓库维护的贡献指南。

