Requirements
Loopwave is single-tenant software: one deployment serves one business, with its own database and its own license. You run it on your own server, so your conversations stay on infrastructure you control.
System requirements
| Requirement | Minimum | Notes |
|---|---|---|
| Node.js | 18+ (20 LTS recommended) | The API runtime. |
| MongoDB | Reachable instance | Stores chats, contacts, tickets, and more. |
| Disk | Writable data directory | Holds WhatsApp linked-device credentials. |
| A WhatsApp number | One per line you connect | Linked by QR, like WhatsApp Web. |
The install wizard checks all of these for you on first run — see the Quick Start.
Architecture at a glance
Loopwave has two parts:
The backend (Node.js) that connects to WhatsApp, stores data in MongoDB, runs
automations and broadcasts, and serves the REST API and webhooks. Listens on
port 4000 by default.
The interface your team logs in to. It talks to the API and updates in real time.
The data directory
WhatsApp linked-device credentials are stored on disk in a writable data directory
(AUTH_DIR, default .data/auth). This directory must persist across restarts — if it’s
wiped, your numbers will need to be re-linked by scanning fresh QR codes.
Back up your MongoDB database and the WhatsApp data directory together. Losing the data directory means re-linking every number; losing the database means losing your conversations, contacts, and tickets.
Networking & TLS
- Serve the dashboard and API over HTTPS in production.
- Set
WEB_ORIGINto your dashboard’s URL so CORS is correctly restricted. - Keep the phone holding each connected number online and reachable.
Set the environment variables Loopwave reads at startup.