Infraestrutura
🐳 Infraestrutura e Contêineres
O ambiente do motor de rastreio é isolado utilizando Docker, garantindo que as dependências do Playwright e do Node.js rodem de forma consistente.
Dockerfile
O arquivo de imagem baseia-se na imagem oficial do Playwright e é responsável por preparar o ambiente do Crawler:
- Imagem Base: Utiliza
mcr.microsoft.com/playwright:v1.61.1-jammy, que contém o Ubuntu Jammy e os binários pré-instalados dos navegadores. - Workdir: Define
/appcomo o diretório de trabalho padrão. - Dependências: Copia o
package.json, executanpm installe copia o restante do código. - Comando Padrão: Executa
npm start.
Docker Compose (docker-compose.yml)
Orquestra o contêiner do crawler e o integra à rede principal onde o banco de dados está exposto.
- Serviço (
crawler-rastreio): Mantém o contêiner nomeado comocrawler_rastreioe configurado comrestart: unless-stopped. - Rede: Conecta-se à rede externa
anhanguerapricingcombr_foconopreco-network, permitindo comunicação direta com o banco de dados PostgreSQL. - Volumes: Mapeia o diretório local para
/app, facilitando o desenvolvimento e a persistência dos módulos node. - Execução em Background: Utiliza o comando
tail -f /dev/nullpara manter o contêiner ativo em background indefinidamente, aguardando os gatilhos dos scripts de scraping.