Ir al contenido principal

Cómo instalar GOWA con Imagen Docker

Cómo instalar GOWA con Docker y Documentación Básica de la API

Guía paso a paso para desplegar la API multidevice de WhatsApp usando la imagen precompilada y referencia de uso básico.

En este artículo veremos cómo realizar una instalación limpia de GOWA (Go WhatsApp Web Multidevice) utilizando la imagen oficial de Docker Hub, configurando almacenamiento persistente, autenticación básica y revisando los endpoints principales para su consumo.

Estructura de Directorios

/home/docker/gowa/
├── docker-compose.yml # Definición del servicio y comandos
└── storages/ # Almacenamiento persistente para sesiones de WhatsApp

Paso 1: Limpieza e Inicialización

Eliminá contenedores previos y prepará la estructura de directorios en tu servidor:

cd /home/docker
docker rm -f whatsapp whatsapp_go gowa 2>/dev/null || true
rm -rf /home/docker/gowa

mkdir -p /home/docker/gowa/storages
cd /home/docker/gowa

Paso 2: Crear el archivo docker-compose.yml

Creamos el archivo de configuración utilizando la imagen oficial y asignando las credenciales de acceso por Basic Auth:

nano docker-compose.yml

Pegá el siguiente contenido:

services:
  whatsapp:
    image: aldinokemal2104/go-whatsapp-web-multidevice
    container_name: gowa
    restart: unless-stopped
    ports:
      - "3001:3000"
    volumes:
      - ./storages:/app/storages
    command:
      - rest
      - --basic-auth=admin:TuContraseñaSegura
      - --port=3000
Importante: Recordá cambiar admin:TuContraseñaSegura por tus credenciales definitivas antes de iniciar el servicio.

Paso 3: Iniciar el Contenedor

Descargá la imagen y levantá el servicio en segundo plano:

docker compose pull
docker compose up -d

Verificá el estado del contenedor y revisá los registros:

docker ps
docker logs --tail 50 gowa

Documentación Básica de GOWA

Una vez que el servicio esté corriendo, podés acceder directamente mediante la IP del servidor o tu proxy inverso en el puerto configurado (ej: http://IP_SERVIDOR:3001). El sistema solicitará las credenciales configuradas en el comando --basic-auth.

Endpoints Principales de la API REST

Método Endpoint Descripción
GET /app/login Genera y muestra el código QR para vincular la sesión de WhatsApp.
GET /app/logout Cierra la sesión actual y elimina las credenciales vinculadas.
POST /send/message Envía un mensaje de texto plano a un número específico.
POST /send/image Envía una imagen adjunta con leyenda opcional.

Ejemplo de Solicitud HTTP (Enviar Mensaje de Texto)

Para interactuar con la API mediante herramientas como curl, debés incluir la cabecera de autenticación básica:

curl -X POST http://localhost:3001/send/message \
  -u admin:TuContraseñaSegura \
  -H "Content-Type: application/json" \
  -d '{
    "phone": "595981123456",
    "message": "Hola desde GOWA API!"
  }'
Nota de Persistencia: Todos los datos de sesión, claves de encriptación y estados de conexión se almacenan de manera segura en el directorio montado ./storages, evitando tener que reescanear el código QR cada vez que se reinicie el contenedor.

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

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