v2.11.162, inicia la API en http://localhost:3002 y verifica una respuesta correcta de POST /v2/scrape con Markdown.
Selecciona entre el autoalojamiento y Firecrawl Cloud
Autoalojar Firecrawl cuando
- Quieres tener control sobre el código fuente o la infraestructura. Esta guía pone en marcha la API y sus servicios auxiliares en tu máquina.
- Te sientes cómodo operando la pila. Te encargarás de las actualizaciones, la seguridad, el almacenamiento, la supervisión y la recuperación.
- Quieres validar Firecrawl en tu entorno. Primero, pon en marcha la configuración base y luego diseña los controles descritos en Antes de producción.
Qué implica el autoalojamiento
- Usted se encarga de las actualizaciones, los secretos, el almacenamiento, la supervisión, la recuperación y la respuesta ante incidentes.
- El scraping sigue enviando solicitudes salientes a los sitios web objetivo. Los proveedores opcionales de proxy, parsing o IA añaden más flujos de datos.
- Esta guía simplifica intencionadamente la primera ejecución. Haga funcionar un scraping y, después, cambie una decisión cada vez.
- Los comandos están fijados a
v2.11.162. Otra versión puede usar un contrato de Compose diferente.
Autoalojar Firecrawl con Docker Compose
Empieza con estos valores predeterminados
- Versión: Firecrawl
v2.11.162. Fija primero el código y la configuración. Actualiza después de revisar el archivodocker-compose.yamly las notas de autoalojamiento de la versión de destino. - Autenticación de la API: desactivada para esta ejecución local. Añádela solo si cuentas con un diseño completo y compatible de identidad y base de datos; una sola variable de entorno no es suficiente.
- Cola: PostgreSQL. Mantenla salvo que quieras operar deliberadamente el backend opcional de FoundationDB.
- Interfaz de usuario de administración de la cola: desactivada. Habilítala solo con una
BULL_AUTH_KEYrobusta y controles de red. - Proveedores de IA y scraping avanzado: no configurados. Añade un proveedor cuando lo requiera alguna capacidad que necesites.
Requisitos previos
- Git
- Docker Engine o Docker Desktop
- Docker Compose v2, invocado como
docker compose curlpara las solicitudes de verificación
3002 esté disponible y de que Docker tenga capacidad suficiente para compilar y ejecutar varios servicios. Firecrawl no publica requisitos mínimos verificados para el host de esta pila.
Clona la versión verificada
v2.11.162. Obtén exactamente esa versión para mantener sincronizados el código, los comandos y la configuración:
docker-compose.yaml y las notas sobre autoalojamiento antes de reutilizar estos valores.
Configura el entorno de evaluación
.env mínimo funcional en la raíz del repositorio:
.env al repositorio. Mantén POSTGRES_DB=postgres para v2.11.162, ya que la configuración incluida de pg_cron apunta a esa base de datos. Compose pasa estos valores tanto a la API como al servicio de PostgreSQL.
apps/api/.env.example es para el desarrollo de la API, no es un archivo de Compose listo para usar.
Esta primera ejecución deshabilita la autenticación de la base de datos, por lo que las solicitudes no necesitan una
clave de API ni una cabecera Authorization.NUQ_BACKEND y BULL_AUTH_KEY sin configurar. Usarás la cola de PostgreSQL sin ejecutar la interfaz de usuario de administración de colas: menos componentes que gestionar en el primer scraping.
Compila e inicia Firecrawl
docker compose ps --all debería mostrar la API y los servicios auxiliares en ejecución, con los servicios de inicialización de ejecución única completados. Espere un poco si los servicios todavía se están iniciando.
Comprueba que la API sea accesible
Realiza una prueba rápida de funcionamiento
Compatibilidad de funciones autogestionadas
Para una comparación más amplia del producto, consulta Open Source vs Cloud. Para la configuración específica de cada versión, usa como referencia complementaria el archivo
docker-compose.yaml fijado.
Antes de pasar a producción
- Si los datos deben sobrevivir al reemplazo de servicios, añade almacenamiento persistente para PostgreSQL, Redis y RabbitMQ, y define y prueba procedimientos de copia de seguridad y restauración. El archivo Compose proporcionado no añade esos volúmenes.
- Si usuarios o redes no confiables pueden acceder a la API, implementa un diseño de autenticación compatible, controles de acceso a la red y TLS en un proxy inverso o ingress. No expongas públicamente esta configuración base sin autenticación.
- Si tienes requisitos de disponibilidad o capacidad, define objetivos de disponibilidad, supervisión, dimensionamiento de recursos, criterios de escalado y procedimientos de actualización y reversión. Los límites de Compose no son requisitos mínimos validados.
- Si la ubicación de los datos o el cumplimiento normativo son importantes, relaciona las solicitudes con los sitios web objetivo y con cada proveedor opcional de IA, proxy o parsing antes de habilitarlos.
- Si los secretos deben gestionarse de forma centralizada, mueve la contraseña de la base de datos de
.enval sistema de gestión de secretos de tu plataforma.
.env que prepare la pila para producción.
Próximos pasos
- ¿Aún estás evaluando? Mantén la API en una red de confianza y ejecuta
docker compose downcuando termines. - ¿Vas a añadir una funcionalidad de código abierto? Usa Compatibilidad de funciones autogestionadas para encontrar el proveedor o servicio necesario y, después, prueba esa ruta por separado.
- ¿Vas a modificar el código de Firecrawl? Consulta Ejecución local para configurar el entorno de desarrollo para colaboradores.
- ¿Vas a conectar un cliente? Configura la CLI de Firecrawl o el servidor MCP local para que apunten a la URL verificada de tu API.
- ¿Vas a migrar a Kubernetes? Comienza con las referencias versionadas de Kubernetes o Helm enlazadas desde
SELF_HOST.mdy, después, deja explícitas las decisiones de producción anteriores para tu plataforma. - ¿Quieres infraestructura gestionada o funcionalidades exclusivas de Cloud? Compara Open Source vs Cloud.
- ¿Vas a pasar a producción? Completa todas las decisiones de Antes de producción antes de exponer la API.
Resolución de problemas
Estás omitiendo la autenticación
USE_DB_AUTHENTICATION=false, estás siguiendo el flujo esperado de la primera ejecución. Las solicitudes usan una identidad autogestionada y no requieren una clave de API. Si se puede acceder a la API desde una red no confiable, detente y añade los controles indicados en Antes de producción.
Los contenedores de Docker no se inician
- Si la revisión de origen es distinta, haz checkout de
v2.11.162o usa la configuración de esa versión. - Si los recursos disponibles para una compilación o un contenedor son limitados, aumenta la capacidad de CPU, memoria o disco de Docker.
- Si PostgreSQL falla, revisa la sintaxis de
.env, manténPOSTGRES_DB=postgresy asegúrate de que los valores de usuario y contraseña coincidan.
Problemas de conexión con Redis
redis://redis:6379. localhost apunta al propio contenedor, no al servicio de Redis.
REDIS_URL o REDIS_RATE_LIMIT_URL, elimina la configuración que la anula para restaurar el valor predeterminado o usa una dirección accesible desde la red de Compose.
El endpoint de la API no responde
3002 no responde, revisa el contenedor de la API y sus registros:
3002, detenlo o cambia el puerto publicado de forma coherente. Durante el inicio, vuelve a intentarlo solo cuando el contenedor de la API aparezca como en ejecución.
Si /v0/health/readiness responde correctamente, pero /v2/scrape falla, revisa los registros de la API y de Playwright, ya que el endpoint de disponibilidad no valida esas dependencias:
La solicitud de scraping supera el tiempo de espera
https://example.com y que los servicios de la API y Playwright están en ejecución. Mantén el valor de --max-time de curl por encima del timeout del cuerpo de la solicitud para que la API pueda devolver su propia respuesta de tiempo de espera.
