Ir al contenido principal

WAHA en Producción con Docker y GOWS

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

Entradas populares de este blog

Instalación y Configuración de MySQL 5.7 en Ubuntu 24.04 LTS

Instalar MySQL 5.7 en Ubuntu 24.04 1. Descargar e instalar MySQL Copiar mkdir ~/mysql57 cd ~/mysql57 wget https://cdn.mysql.com/archives/mysql-5.7/mysql-5.7.44-linux-glibc2.12-x86_64.tar.gz tar -zxvf mysql-5.7.44-linux-glibc2.12-x86_64.tar.gz sudo mv mysql-5.7.44-linux-glibc2.12-x86_64 /usr/local/mysql sudo ln -s /usr/local/mysql/bin/mysql /usr/local/bin/mysql 2. Instalar dependencias necesarias IMPORTANTE: Se descargan las versiones nuevas de las librerías y se las vincula con las librerías que necesita MySQL. Copiar sudo apt update # Reemplazo de libaio sudo apt install libaio1t64 # Reemplazo de libtinfo y ncurses sudo apt install libtinfo6 libncurses6 Copiar # Crear los enlaces simbólicos sudo ln -sf /usr/lib/x86_64-linux-gnu/libaio.so.1t64 /usr/lib/libaio.so.1 sudo ln -sf /usr/lib/x86_64-linux-gnu/libtinfo.so.6 /usr/lib/x86_64-linux-gnu/libtinfo.so.5 sudo ln -sf /usr/lib/x86_64-linux-gnu/libncurses.so.6 /usr/lib/x86_64...

Instalar Evolution API en Docker con Redis y PostgreSQL Local

Instalar Evolution API en Docker con Redis y PostgreSQL Local En este tutorial vamos a levantar Evolution API usando Docker , con soporte de Redis para sesiones y PostgreSQL local para almacenar datos de manera persistente y compartida entre varios usuarios. 1. Estructura del proyecto Crea una carpeta para tu proyecto y colócate en ella: mkdir -p ~/docker/evolution-api cd ~/docker/evolution-api 2. Archivo docker-compose.yml Este compose levanta Redis y Evolution API : version: "3.9" services: # ✅ SERVICIO REDIS redis: container_name: evolution_redis image: redis:7-alpine restart: unless-stopped ports: - "6379:6379" volumes: - redis_data:/data command: redis-server --save 60 1 --loglevel warning # ✅ SERVICIO EVOLUTION API evolution-api: container_name: evolution_api image: atendai/evolution-api restart: unless-stopped ports: - "8085:8080" env_file: - .env ...

Instalar Jasper Studio 6.21 para Ubuntu 24.04

Instalar js-studiocomm_6.21.3 en Ubuntu 24.4 Para instalar Jaspersoft Studio en Ubuntu 24.4, sigue estos pasos: 1. Descargar Jasper Studio Descarga la versión js-studiocomm_6.21.3 desde el siguiente enlace: Jaspersoft Studio 6.21.3 2. Crear el directorio de instalación mkdir /opt/jasperstudio 3. Mover el archivo descargado mv /dir_descarga/js-studiocomm_6.21.3_linux_x86_64.tgz /opt/jasperstudio/ cd /opt/jasperstudio 4. Extraer el archivo tar -xvzf js-studiocomm_6.21.3_linux_x86_64.tgz cd js-studiocomm_6.21.3 5. Ejecutar Jaspersoft Studio ./Jaspersoft\ Studio 6. Crear acceso directo en el escritorio Para facilitar el acceso, crea un archivo .desktop en el escritorio: gedit ~/Escritorio/jaspersoft-studio.desktop En el archivo jaspersoft-studio.desktop , agrega lo siguiente: [Desktop Entry] Version=1.0 Ty...