Skip to Content
Self-Hosting & LicensingRequirements

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

RequirementMinimumNotes
Node.js18+ (20 LTS recommended)The API runtime.
MongoDBReachable instanceStores chats, contacts, tickets, and more.
DiskWritable data directoryHolds WhatsApp linked-device credentials.
A WhatsApp numberOne per line you connectLinked 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:

API server

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.

Web dashboard

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_ORIGIN to your dashboard’s URL so CORS is correctly restricted.
  • Keep the phone holding each connected number online and reachable.
Configure your environment

Set the environment variables Loopwave reads at startup.