Overview
Vertra Cloud is ideal for hosting WhatsApp bots usingwhatsapp-web.js, a Node.js library that emulates the WhatsApp web interface.
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
- Dashboard
- CLI
- VS Code
- Compress the project into a
.zip(folders likenode_modules,venvandtargetare removed automatically) or push it to GitHub. - In the dashboard, click New Project and upload the
.zipor paste the repository URL. - In Build, check the runtime (JavaScript), the main file (
index.js) and the memory. Start and build commands are under Advanced settings. - Add your environment variables in Environment.
- In Network, leave web publishing off: a bot doesn’t receive incoming traffic and runs in the background on any plan.
- Review and deploy. Follow the output in the Logs tab.
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