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.


📦 Adicionando Puppeteer

O Puppeteer requer dependências adicionais do sistema. Você deve adicionar puppeteer ao campo APT no seu arquivo discloud.config.

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?

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

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();

🚨 Solução de Problemas com Código QR:

  • Se o código QR não aparecer nos logs da Discloud, aumente a RAM alocada.

  • Quanto mais complexas suas interações com o WhatsApp, mais RAM o Puppeteer precisará para funcionar adequadamente.

Last updated