Multi-tenant WhatsApp CRM with gateway orchestration, per-user Docker slices, and headless Chrome
Each user gets an isolated Docker container running headless Chrome + whatsapp-web.js + Express API
| Component | Details | Notes |
|---|---|---|
| Container | wank-slice-{N} | Alpine-based Docker image |
| Port | 5001, 5003, 5005, ... | Odd numbers, auto-assigned |
| Browser | Chromium (headless) | puppeteer-extra + stealth plugin |
| whatsapp-web.js | DOM-only data extraction | |
| Database | slice_N schema | Shared PostgreSQL, isolated schema |
| Session | .wwebjs_auth volume | Survives container restarts |
| Item | Value |
|---|---|
| Server | slices — 192.99.145.61 (OVH VPS) |
| App URL | https://app.queunir.com |
| OS | Ubuntu 25.04 |
| Specs | 16 vCPU, 64 GB RAM, 350 GB SSD |
| Gateway | systemd wank-gateway, port 3000 |
| Database | PostgreSQL wank_saas on localhost |
| Frontend | Vite build to /var/www/app/ |