Skip to main content
Ejecuta Firecrawl localmente cuando modifiques la API, los workers o las pruebas. Este proceso instala las dependencias de desarrollo e inicia los servicios del repositorio con el entorno de pruebas de la API.
Este es un entorno de desarrollo para colaboradores, no una guía de despliegue. Si quieres ejecutar Firecrawl en una infraestructura que controlas sin modificar el producto, usa Autoalojar Firecrawl.

Seleccionar desarrollo local o autoalojamiento

  • Desarrolla localmente cuando necesites ciclos rápidos de codificación, pruebas y depuración con la revisión actual del código fuente.
  • Autoaloja una versión específica cuando quieras una base estable de Docker Compose en tu propia infraestructura.
  • Usa Firecrawl Cloud cuando quieras la forma más rápida de contar con una solución administrada sin tener que operar ninguno de los dos entornos.
Mantén estos entornos separados. El archivo de desarrollo de la API en apps/api/.env y el archivo .env de Compose en la raíz corresponden a procesos distintos y no son intercambiables.

Inicia el entorno de desarrollo de Firecrawl

Instala los requisitos previos

Instala:
  • Git
  • Node.js 22
  • pnpm 11.4.0
  • Redis
  • Docker o Podman para los contenedores de PostgreSQL y RabbitMQ administrados por el entorno de prueba de la API
  • Go 1.23 o una versión posterior, que el entorno de prueba de la API recompila en cada inicio
  • Rust, compilado durante pnpm install para el paquete nativo @mendable/firecrawl-rs
Habilita la versión del gestor de paquetes que utiliza la API:

Clona Firecrawl e instala las dependencias

Crea apps/api/.env con la configuración mínima de desarrollo sin autenticación:
Deja NUQ_DATABASE_URL y NUQ_RABBITMQ_URL sin configurar si quieres que el entorno de pruebas cree contenedores locales de PostgreSQL y RabbitMQ. Configúralas solo si gestionas esas dependencias tú mismo.

Inicia Redis y Firecrawl

Inicia Redis en una terminal:
A continuación, inicia Firecrawl desde apps/api en otra terminal:
El comando start compila la API, inicia los procesos de la API y del worker, y gestiona los contenedores locales de la cola. Mantén esa terminal abierta mientras desarrollas.

Verifica un scraping local

Comprueba que el proceso de la API responda:
Respuesta esperada:
Luego, pruebe la ruta de scraping:
Una respuesta satisfactoria incluye success: true, Markdown en data.markdown y un código de estado HTTP en data.metadata.statusCode.

Modifica y prueba Firecrawl

Mantén cada cambio acotado, añade una ruta de éxito y cobertura de errores relevante, y ejecuta el comando de prueba más específico, del repositorio, que valide el comportamiento. Desde apps/api, ejecuta la suite de snippets de la API con sus dependencias:
El entorno de pruebas inicia la API, los workers, PostgreSQL y RabbitMQ para ejecutar el comando de prueba y, después, limpia los procesos que inició. Usa una ruta de Vitest más específica cuando no necesites ejecutar toda la suite de snippets. Para conocer el flujo de trabajo de contribución, revisa el CONTRIBUTING.md del repositorio antes de abrir una pull request.

Solución de problemas del entorno de desarrollo

Redis no se conecta

Confirma que Redis esté escuchando en localhost:6379 y que ambas URL de Redis en apps/api/.env usen esa dirección.

El entorno de prueba no puede iniciar PostgreSQL ni RabbitMQ

Inicia Docker o Podman y vuelve a ejecutar pnpm start. Si administras los servicios por tu cuenta, configura explícitamente sus URL de conexión en lugar de depender de contenedores gestionados por el entorno de prueba.

El puerto 3002 ya está en uso

Detén el otro proceso o cambia PORT en apps/api/.env; luego usa ese mismo puerto en las solicitudes de verificación.

La obtención básica funciona, pero el renderizado en el navegador no

Un PLAYWRIGHT_MICROSERVICE_URL vacío mantiene deshabilitado el servicio de Playwright independiente. Inicia y configura este servicio solo cuando el cambio que estás probando lo requiera.

Próximos pasos