v2.11.162, inicia a API em http://localhost:3002 e verifica uma resposta bem-sucedida a POST /v2/scrape com Markdown.
Escolha entre auto-hospedagem e Firecrawl Cloud
Hospede o Firecrawl por conta própria quando
- Você quer ter controle sobre o código-fonte ou a infraestrutura. Este guia coloca a API e os serviços de suporte em funcionamento na sua máquina.
- Você se sente à vontade para operar a stack. Você será responsável por atualizações, segurança, armazenamento, monitoramento e recuperação.
- Você quer validar o Firecrawl no seu ambiente. Faça a configuração básica funcionar aqui e, depois, defina os controles em Antes da produção.
O que a auto-hospedagem exige
- Você é responsável por atualizações, segredos, armazenamento, monitoramento, recuperação e resposta a incidentes.
- O scraping ainda envia solicitações para sites de destino. Provedores opcionais de proxy, análise ou IA adicionam outros fluxos de dados.
- Este guia mantém a primeira execução intencionalmente simples. Primeiro, faça um scraping funcionar e, depois, altere uma decisão por vez.
- Os comandos estão fixados na versão
v2.11.162. Uma versão diferente pode usar um contrato do Compose diferente.
Hospede o Firecrawl por conta própria com Docker Compose
Comece com estas configurações padrão
- Versão: Firecrawl
v2.11.162. Primeiro, fixe o código e a configuração. Atualize após revisar odocker-compose.yamle as notas de auto-hospedagem da versão de destino. - Autenticação da API: desativada para esta execução local. Adicione-a apenas com uma arquitetura completa e compatível de identidade e banco de dados; uma variável de ambiente não é suficiente.
- Fila: PostgreSQL. Mantenha-o, a menos que você queira operar intencionalmente o backend opcional do FoundationDB.
- UI de administração da fila: desativada. Habilite-a apenas com uma
BULL_AUTH_KEYforte e controles de rede. - Provedores de IA e scraping avançado: não configurados. Adicione um provedor quando precisar de uma capacidade que o exija.
Pré-requisitos
- Git
- Docker Engine ou Docker Desktop
- Docker Compose v2, chamado como
docker compose curlpara as requisições de verificação
3002 esteja disponível e que o Docker tenha capacidade suficiente para compilar e executar vários serviços. O Firecrawl não especifica uma configuração mínima de host validada para esta stack.
Clone a versão validada
v2.11.162. Faça checkout dessa versão específica para manter o código, os comandos e a configuração sincronizados:
docker-compose.yaml e as notas sobre auto-hospedagem antes de reutilizar estes valores.
Configure a implantação para avaliação
.env funcional na raiz do repositório:
.env. Mantenha POSTGRES_DB=postgres para a versão v2.11.162, pois a configuração integrada do pg_cron é direcionada a esse banco de dados. O Compose repassa esses valores tanto para a API quanto para o serviço PostgreSQL.
apps/api/.env.example serve para o desenvolvimento da API e não é um arquivo
Compose pronto para uso. Nesta primeira execução, a autenticação do banco de dados
é desativada, portanto as requisições não precisam de uma chave de API nem do header Authorization.NUQ_BACKEND e BULL_AUTH_KEY sem definir. Você usará a fila do PostgreSQL sem executar a UI de administração da fila — menos componentes envolvidos no primeiro scraping.
Compile e inicie o Firecrawl
docker compose ps --all deve mostrar a API e os serviços de suporte em execução, com os serviços de inicialização única concluídos. Aguarde um pouco caso os serviços ainda estejam sendo iniciados.
Verifique a acessibilidade da API
Execute um teste de fumaça funcional
Suporte a recursos auto-hospedados
Para uma comparação mais ampla entre os produtos, consulte Código aberto vs. Cloud. Para configurações específicas de cada versão, use o
docker-compose.yaml fixado como fonte complementar.
Antes da produção
- Se os dados precisarem sobreviver à substituição de serviços, adicione armazenamento persistente para PostgreSQL, Redis e RabbitMQ e defina e teste procedimentos de backup e restauração. O arquivo Compose fornecido não adiciona esses volumes.
- Se usuários ou redes não confiáveis puderem acessar a API, implemente um modelo de autenticação compatível, controles de acesso à rede e TLS em um proxy reverso ou controlador de entrada. Não exponha publicamente essa configuração de referência sem autenticação.
- Se houver requisitos de disponibilidade ou capacidade, defina metas de disponibilidade, monitoramento, dimensionamento de recursos, gatilhos de escalonamento e procedimentos de atualização e reversão. Os limites do Compose não são requisitos mínimos comprovados.
- Se a localização dos dados ou a conformidade for importante, mapeie as solicitações para os sites-alvo e para todos os provedores opcionais de IA, proxy ou análise antes de ativá-los.
- Se os segredos precisarem ser gerenciados centralmente, mova a senha do banco de dados de
.envpara o sistema de gerenciamento de segredos da sua plataforma.
.env deixa a stack pronta para produção.
Próximos passos
- Ainda avaliando? Mantenha a API em uma rede confiável e execute
docker compose downquando terminar. - Adicionando um recurso de código aberto? Use Suporte a recursos auto-hospedados para encontrar o provedor ou serviço necessário e teste esse fluxo isoladamente.
- Alterando o código do Firecrawl? Consulte Execução local para configurar o ambiente de desenvolvimento para colaboradores.
- Conectando um cliente? Aponte a CLI do Firecrawl ou o servidor MCP local para o URL verificado da sua API.
- Migrando para o Kubernetes? Comece pelas referências versionadas de Kubernetes ou Helm vinculadas em
SELF_HOST.mde, depois, defina explicitamente as decisões de produção acima para sua plataforma. - Quer infraestrutura gerenciada ou recursos exclusivos da Cloud? Compare Código aberto vs. Cloud.
- Indo para produção? Conclua todas as decisões em Antes da produção antes de expor a API.
Resolução de problemas
Você está ignorando a autenticação
USE_DB_AUTHENTICATION=false, você está no fluxo esperado da primeira execução. As solicitações usam uma identidade auto-hospedada e não exigem uma chave de API. Se a API estiver acessível em uma rede não confiável, interrompa o processo e adicione os controles descritos em Antes da produção.
Os contêineres Docker não iniciam
- Se a revisão de origem for diferente, faça checkout de
v2.11.162ou use a configuração dessa versão. - Se um build ou contêiner estiver com recursos limitados, aumente a capacidade de CPU, memória ou disco do Docker.
- Se o PostgreSQL falhar, verifique a sintaxe do
.env, mantenhaPOSTGRES_DB=postgrese certifique-se de que os valores de usuário e senha sejam consistentes.
Problemas de conexão com o Redis
redis://redis:6379. localhost se refere ao próprio contêiner, não ao serviço Redis.
REDIS_URL ou REDIS_RATE_LIMIT_URL, remova a substituição para restaurar o padrão ou use um endereço que possa ser resolvido dentro da rede do Compose.
O endpoint da API não responde
3002 não responder, verifique o contêiner da API e os respectivos logs:
3002, interrompa-o ou altere a porta exposta de forma consistente. Durante a inicialização, tente novamente somente depois que o contêiner da API estiver em execução.
Se /v0/health/readiness for bem-sucedido, mas /v2/scrape falhar, verifique os logs da API e do Playwright, pois o endpoint de disponibilidade não valida essas dependências:
A solicitação de scraping excede o tempo limite
https://example.com e que os serviços da API e do Playwright estão em execução. Mantenha o --max-time do curl maior que o timeout no corpo da solicitação para que a API possa retornar sua própria resposta de tempo limite.
