Ir al contenido principal

WAHA + Nginx usando motor GOWS

WAHA + Nginx usando motor GOWS (Nginx instalado en el host)

Este tutorial muestra cómo ejecutar varias instancias de WAHA en Docker usando el motor GOWS, y exponerlas todas a través de un solo Nginx instalado directamente en el servidor.

Requisitos

  • VPS Linux (Ubuntu 20.04+ recomendado)
  • Docker y Docker Compose instalados
  • Nginx instalado en el host
  • Puerto 80 abierto en el firewall

1️⃣ Instalar Nginx en el host

sudo apt update
sudo apt install -y nginx

Comprobar que funciona:

curl http://localhost
Si ves la página por defecto, Nginx está listo.

2️⃣ Ejecutar WAHA con Docker (motor GOWS)

Crear un directorio para WAHA:

mkdir -p /home/docker/waha
cd /home/docker/waha

docker-compose.yml


services:
  waha:
    image: devlikeapro/waha
    container_name: waha
    ports:
      - "3001: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
Los puertos están ligados a 127.0.0.1, por lo que WAHA no es accesible desde internet, solo desde el servidor.

Levantar los contenedores:

docker compose up -d

3️⃣ Configurar Nginx (sitio por defecto)

Editar el archivo por defecto:

sudo nano /etc/nginx/sites-available/default

Contenido:

server {
    listen 80 default_server;
    listen [::]:80 default_server;

    root /var/www/html;
    index index.html;

   location / {
        proxy_pass http://127.0.0.1:3001/;
        proxy_set_header Host $host;
        proxy_set_header X-Real-IP $remote_addr;
        proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
        proxy_set_header X-Forwarded-Proto $scheme;

    }
}

Verificar y recargar:

sudo nginx -t
sudo systemctl reload nginx

Notas importantes

  • GOWS consume menos memoria que WebJS
  • Nginx facilita SSL, autenticación y control de acceso
  • Ideal para VPS pequeñas o Always Free

Conclusión

Con esta arquitectura tenés varias instancias de WAHA, un solo puerto público, mejor seguridad y una base fácil de escalar.

Comentarios

Entradas populares de este blog

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 ...

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...

Tutorial: n8n con Docker Compose en Linux

Tutorial Completo: Instalar y correr n8n en Linux con Docker Compose Este tutorial te guiará paso a paso para instalar y ejecutar n8n usando Docker Compose en un sistema Linux (como Ubuntu), con buenas prácticas y configuraciones recomendadas. --- 1. Actualizar el sistema Es buena práctica empezar actualizando los paquetes y sistema: Copiar sudo apt update sudo apt upgrade -y --- 2. Instalar dependencias necesarias para Docker Copiar sudo apt install -y ca-certificates curl gnupg lsb-release --- 3. Agregar repositorio oficial de Docker Copiar sudo mkdir -p /etc/apt/keyrings curl -fsSL https://download.docker.com/linux/ubuntu/gpg | sudo gpg --dearmor -o /etc/apt/keyrings/docker.gpg echo \ "deb [arch=$(dpkg --print-architecture) signed-by=/etc/apt/keyrings/docker.gpg] \ https://download.docker.com/linux/ubuntu $(lsb_release -cs) stable" | \ sudo tee /etc/apt/sources.list.d/docker.list > /dev/null sudo apt update --- 4. ...