Puppeteer
Saiba como configurar o Puppeteer na Discloud, incluindo dependências e ajustes de RAM, para garantir o funcionamento correto em ambientes de containers.
📌 Requisitos
Para usar Puppeteer na Discloud, é recomendado um mínimo de 512 MB de RAM para tarefas básicas. No entanto, dependendo da complexidade da sua aplicação, mais RAM pode ser necessária.
Se o Puppeteer não funcionar corretamente (ex.: nenhum código QR nos logs, travamentos), aumente a RAM alocada!
📦 Adicionando Puppeteer
O Puppeteer requer dependências adicionais do sistema. Você deve adicionar puppeteer
ao campo APT
no seu arquivo discloud.config
.
APT=tools, puppeteer
# ...
⚙️ Configurando Puppeteer
Como Puppeteer é executado em um ambiente containerizado, você deve adicionar o argumento --no-sandbox
para garantir que funcione corretamente.
const puppeteer = require("puppeteer");
(async () => {
const browser = await puppeteer.launch({
args: ["--no-sandbox"],
});
const page = await browser.newPage();
await page.goto("https://example.com");
console.log(await page.title());
await browser.close();
})();
🚨 Por que --no-sandbox
?
--no-sandbox
?Executar Puppeteer dentro de um container requer desabilitar o sandbox para impedir que restrições de segurança bloqueiem a execução.
⚙️ Usando Puppeteer com whatsapp-web.js
whatsapp-web.js
Como whatsapp-web.js
também usa Puppeteer para geração de código QR e interações em segundo plano, você deve incluir --no-sandbox
na sua configuração.
const { Client } = require("whatsapp-web.js");
const client = new Client({
puppeteer: {
args: ["--no-sandbox"],
},
});
client.initialize();
Last updated