Este tutorial explica el flujo correcto y seguro para usar WAHA en producción, minimizando consumo de recursos y evitando bloqueos o caídas en la VPS.
Importante: El QR de WhatsApp se escanea una sola vez usando WEBJS. En producción se usa GOWS o NOWEB.
Requisitos
- VPS Linux (1 GB RAM mínimo)
- Docker y Docker Compose instalados
- Puerto 80 abierto
- Acceso SSH
Paso 1: Crear estructura del proyecto
mkdir -p /home/docker/waha
cd /home/docker/waha
Paso 2: Configurar WAHA para escanear QR (WEBJS)
Este paso solo se hace una vez.
version: "3.8"
services:
waha:
image: devlikeapro/waha
container_name: waha
ports:
- "80:3000"
environment:
WAHA_API_KEY: demo123
WAHA_DASHBOARD_USERNAME: admin
WAHA_DASHBOARD_PASSWORD: demo123
WHATSAPP_DEFAULT_ENGINE: WEBJS
WHATSAPP_DEFAULT_SESSION: default
LOG_LEVEL: info
volumes:
- ./sessions:/app/.sessions
Paso 3: Levantar WAHA y escanear el QR
docker-compose up -d
Abrir en el navegador:
http://TU_IP:80/dashboard
Iniciar la sesión default, escanear el QR y esperar estado WORKING.
No continúes si la sesión no está en estado WORKING.
Paso 4: Verificar que la sesión se guardó
ls sessions
Debe haber archivos dentro del directorio.
Paso 5: Detener WAHA
docker-compose down
Paso 6: Configurar WAHA para producción (GOWS)
Editar docker-compose.yml:
version: "3.8"
services:
waha:
image: devlikeapro/waha:gows
container_name: waha
ports:
- "80:3000"
environment:
WAHA_API_KEY: demo123
WAHA_DASHBOARD_USERNAME: admin
WAHA_DASHBOARD_PASSWORD: demo123
WHATSAPP_DEFAULT_ENGINE: GOWS
WHATSAPP_DEFAULT_SESSION: default
LOG_LEVEL: info
volumes:
- ./sessions:/app/.sessions
restart: unless-stopped
mem_limit: 512m
Paso 7: Levantar WAHA en producción
docker-compose up -d
Paso 8: Verificar estado de la sesión
curl http://localhost/api/sessions
Si la respuesta es WORKING y no se solicita QR, WAHA está correctamente en producción.
Buenas prácticas
- No borrar el directorio
sessions - No usar WEBJS en producción
- Limitar memoria en VPS pequeñas
- Usar GOWS para mayor estabilidad
Si WhatsApp invalida la sesión, repetir el proceso desde el Paso 2.
Conclusión
Este flujo evita consumo excesivo, desconexiones SSH y reinicios inesperados en la VPS. WEBJS solo se usa para autenticación inicial. GOWS es el modo recomendado para producción.
Comentarios
Publicar un comentario