Skip to main content

Overview

Vertra Cloud is ideal for hosting WhatsApp bots using whatsapp-web.js, a Node.js library that emulates the WhatsApp web interface.
Important: The whatsapp-web.js library uses Puppeteer and Chromium, which require 512MB or more memory. 1GB recommended for stable operation is configured with the application.

Requirements

  • Node.js 18+ installed locally
  • Account on Vertra Cloud
  • Valid phone number for WhatsApp account

Project Structure

Configuration

package.json

The platform installs the dependencies of whatsapp-web.js, and Puppeteer uses the Chromium already available in the runtime image, so no browser is downloaded during installation. Do not include node_modules in the upload.

vertracloud.config

Complete Bot Example

Deploy

  1. Compress the project into a .zip (folders like node_modules, venv and target are removed automatically) or push it to GitHub.
  2. In the dashboard, click New Project and upload the .zip or paste the repository URL.
  3. In Build, check the runtime (JavaScript), the main file (index.js) and the memory. Start and build commands are under Advanced settings.
  4. Add your environment variables in Environment.
  5. In Network, leave web publishing off: a bot doesn’t receive incoming traffic and runs in the background on any plan.
  6. Review and deploy. Follow the output in the Logs tab.
The full walkthrough is in First deploy.

First Execution - Authentication

1

Deploy and wait for QR code

After deploying, monitor the logs. You’ll see a QR code displayed in the terminal.
2

Scan with phone

Open WhatsApp on your phone, go to Settings → Linked Devices and scan the QR code.
3

Session persistence

The sessions/ folder stores authentication data. Do not clean this folder or the bot will need to be authenticated again.
4

Confirmation

When you see “Authentication successful!” in logs, the bot is ready to receive messages.

Important Notes

  • Critical memory: whatsapp-web.js + Puppeteer/Chromium require at least 512MB, but 1GB recommended for stable operation
  • Persistent sessions: The sessions/ folder stores authentication data. Configure persistent volume if needed
  • QR code: Only displayed on first run. Scan quickly before expiration (usually 30 seconds)
  • Auto-restart: On by default, keeps the bot online
  • Logs: Monitor regularly to detect connection problems
  • Rate limiting: WhatsApp has message limits. Implement delays between sends
  • Bot Type: Always select Bot when creating the application
Last modified on October 26, 2026