- Evolution API permite automatizar WhatsApp con control absoluto y privacidad.
- El despliegue con Docker simplifica la gestión y actualización de la infraestructura de WhatsApp.
- Utilizar PostgreSQL y Redis junto a Evolution API garantiza persistencia y rendimiento óptimos.

En el ecosistema actual de la automatización y la mensajería empresarial, integrar WhatsApp en los procesos internos se ha vuelto una táctica fundamental para ganar eficiencia y comunicarse de forma más cercana con los clientes. Sin embargo, la API oficial de WhatsApp puede ser prohibitiva o limitada para muchos proyectos, por sus costes, sus condiciones o simplemente por requerimientos técnicos diferenciales. Aquí es donde entra en juego Evolution API, una alternativa de código abierto orientada a proporcionar una API REST robusta para WhatsApp gestionable en entornos propios y optimizada para integración continua, especialmente mediante entornos Dockerizados.
Este artículo te guía de manera detallada y exhaustiva -en un estilo directo y práctico- sobre cómo desplegar Evolution API usando Docker, gestionando sus diferentes dependencias, permisos y configuración, y cuáles son sus principales ventajas respecto a otras opciones. Recopilamos y ampliamos toda la información que circula actualmente sobre el tema en la red, integrando recursos oficiales, experiencias de expertos y recomendaciones útiles para que elijas la forma de implementación más adecuada según tu escenario.
Índice
- 1 ¿Qué es Evolution API y cuáles son sus ventajas?
- 2 ¿Por qué usar Evolution API con Docker?
- 3 Requisitos clave para la instalación
- 4 Despliegue de Evolution API con Docker paso a paso
- 5 Instalación alternativa: ejecución rápida con docker run
- 6 Configurar la autenticación y conexión a WhatsApp
- 7 Revisión de la base de datos y persistencia en Evolution API
- 8 Casos de uso avanzados y recomendaciones de producción
- 9 Despliegue en plataformas externas y cloud
¿Qué es Evolution API y cuáles son sus ventajas?
Evolution API es una plataforma de código abierto orientada a la automatización de WhatsApp vía API REST, creada con la potente biblioteca Baileys e ideada especialmente para desarrolladores, SysAdmins y equipos que buscan autonomía máxima en el canal de WhatsApp, sin depender de servicios de terceros ni enfrentarse a los altos costes de la API oficial cloud.
- Permite conectar cuentas de WhatsApp individuales y gestionarlas de forma automatizada.
- Posibilita recibir y enviar mensajes, manipular contactos, consultar información de los chats y gestionar webhooks para procesamiento en tiempo real.
- Puedes alojar la solución en tu propio VPS o servidor dedicado, aumentando la privacidad y permitiéndote cumplir normativas de protección de datos de forma más sencilla.
- Utiliza PostgreSQL para almacenamiento persistente y Redis como sistema de caché eficiente, mejorando el rendimiento y la robustez en entornos de producción.
- La comunidad y los desarrolladores detrás del proyecto mantienen la compatibilidad con nuevas versiones de WhatsApp Web y mejoran su seguridad de manera continuada.
Toda esta arquitectura es especialmente sencilla de desplegar y escalar usando Docker, facilitando los procesos de integración y actualizaciones continuas.
¿Por qué usar Evolution API con Docker?
Montar Evolution API usando Docker es la forma más eficiente y estándar para evitar los problemas habituales de dependencias, incompatibilidades del sistema o instalaciones manuales. Docker te permite crear entornos aislados y totalmente replicables, eliminando los errores derivados de la configuración manual en diferentes servidores y facilitando tareas como backups, migraciones o ampliaciones de capacidad.
- Despliegue simple: un solo comando (
docker compose up -dodocker run) basta para tener todos los servicios funcionando en minutos. - Reutilización de imágenes: se pueden usar imágenes oficiales de Docker Hub actualizadas por la comunidad, como atendai/evolution-api y evoapicloud/evolution-api.
- Manejo automático de dependencias: PostgreSQL y Redis se despliegan en contenedores aliados, con variables de entorno definidas en ficheros .env fácilmente modificables.
- Máxima portabilidad y reconstrucción: puedes mover, clonar o escalar el entorno sin sorpresas, ya sea en local, en la nube o en un VPS baremetal.
La propia documentación, tanto en repositorios como en tutoriales independientes, recomienda este enfoque para producción.
Requisitos clave para la instalación
Antes de empezar, deberás tener instalado en tu servidor:
- Docker (puedes comprobarlo con
docker -v). - Docker Compose (versión actualizada, consultable con
docker compose version). - Recomendado: añade tu usuario al grupo docker con
sudo usermod -aG docker tuusuariopara evitar tener que anteponer sudo a cada comando. - Una clave de autenticación que funcionará como contraseña de administración para Evolution API.
Despliegue de Evolution API con Docker paso a paso
1. Descarga el repositorio Dockerizado
Clona el repositorio preparado para Docker desde GitHub ejecutando:
git clone https://github.com/devalexcode/docker-evolution-api.git
Después, entra en la carpeta del proyecto:
cd docker-evolution-api
2. Configura las variables de entorno
Haz una copia del fichero de ejemplo y edítalo según tus necesidades:
- Copia el archivo de ejemplo:
cp .env.example .env - Edita tus credenciales y parámetros relevantes con
nano .envo cualquier editor de texto.
Ejemplo de variables:
############################################ # Evolution API ############################################ AUTHENTICATION_API_KEY=api_key_personalizada EVOLUTION_API_PORT=8080 CONFIG_SESSION_PHONE_VERSION=2.3000.1023204200 ############################################ # PostgreSQL POSTGRES_USER=usuario_unico POSTGRES_PASS=contraseña_segura POSTGRES_PORT=5432 ############################################ # Redis REDIS_PORT=6379
Es recomendable modificar los valores de usuario y contraseña por motivos de seguridad y elegir un puerto expuesto si tienes otros servicios activos.
3. Inicia los servicios con Docker Compose
Con el fichero docker-compose.yml ya integrado en el repositorio, simplemente ejecuta:
docker compose up -d
Esto levantará en segundo plano los contenedores definidos: Evolution API, PostgreSQL y Redis, aplicando todas las variables de entorno previamente configuradas.
- La API REST se expondrá por defecto en el puerto 8080, accesible externamente según las reglas de firewall o redirección que tengas configuradas en tu VPS.
- Las bases de datos y el sistema de caché funcionarán aislados, comunicándose con Evolution API solo en el backend.
4. Comprobaciones y diagnóstico
Para verificar que el servicio principal está corriendo, puedes ejecutar docker ps, que debe mostrar entre otros datos:
evolution_api atendai/evolution-api:latest Up 0.0.0.0:8080->8080/tcp
Si lo prefieres, puedes consultar directamente en tu navegador escribiendo la URL http://IP_DEL_SERVIDOR:8080/manager, que te llevará al panel de control de Evolution API. Alternativamente, usa curl http://localhost:8080/manager desde la terminal.
Instalación alternativa: ejecución rápida con docker run
En casos donde no requieras una personalización avanzada o quieras hacer pruebas rápidas, puedes lanzar el contenedor directamente con un solo comando usando la imagen oficial:
docker run -d \ --name evolution-api \ -p 8080:8080 \ -e AUTHENTICATION_API_KEY=tu_api_key \ atendai/evolution-api
Recuerda sustituir tu_api_key por el valor que desees utilizar como clave de acceso. Puedes acceder de igual modo, asegurando que el puerto externo esté abierto y sin conflictos.
Configurar la autenticación y conexión a WhatsApp
La autenticación de Evolution API se gestiona principalmente con el parámetro AUTHENTICATION_API_KEY que defines en las variables de entorno. Este valor se convertirá en la contraseña principal de la API cuando realices peticiones desde aplicaciones externas o integraciones (por ejemplo, con servidores n8n, chatbots propios o sistemas de gestión interna).
No obstante, una vez conectes tu cuenta de WhatsApp desde la interfaz web de Evolution API, cada cuenta añadida puede generar una API Key única asociada a ese dispositivo o sesión en concreto. Es importante diferenciar entre la clave general de administración y la clave específica de cada instancia si vas a hacer integraciones multiusuario o multicuenta.
En el caso de integración con plataformas como n8n (un popular motor de automatización de procesos), se recomienda lo siguiente:
- Asegúrate de indicar la API Key generada por la cuenta de WhatsApp al crear las credenciales en el nodo correspondiente.
- Si tienes problemas de conexión, puede ser necesario eliminar el puerto de la URL en la configuración del nodo (según experiencias de otros usuarios, la credencial se resuelve mejor si se indica solo el hostname o IP, sin explicitamente establecer el :8080, dependiendo de la versión y la configuración personalizada de n8n).
Revisión de la base de datos y persistencia en Evolution API
Una de las grandes diferencias de Evolution API frente a alternativas menos profesionales, es que para entornos productivos incluye soporte para bases de datos PostgreSQL y caché con Redis. Esta arquitectura es la recomendada si quieres que los mensajes, usuarios y toda la información relevante se almacene de manera duradera y eficaz.
- PostgreSQL: toda la información persistente (mensajes enviados/recibidos, cuentas, etc.) se almacena aquí. La integración es automática vía Docker Compose, pero puedes acceder directamente a la base de datos para auditorías o integraciones adicionales, utilizando aplicaciones como DBeaver o pgAdmin.
- Redis: se emplea especialmente para acelerar la comunicación entre servicios, manejar sesiones de usuario y optimizar el rendimiento en procesamiento de eventos y colas de mensajes. No requiere configuración especial en la mayoría de despliegues básicos.
Ejemplo de conexión a PostgreSQL, si quieres hacer comprobaciones manuales:
- Host: localhost
- Puerto: 5432
- Usuario: evolution_user
- Contraseña: evolution_password
- Base de datos: evolution_db
Casos de uso avanzados y recomendaciones de producción
El despliegue con Docker Compose permite levantar entornos más complejos integrando varias instancias de Evolution API, balanceadores de carga, mecanismos de backup y monitorización. Dependiendo del volumen de tráfico y los requisitos, puedes utilizar herramientas de orquestación como Kubernetes, aunque para la gran mayoría de proyectos comerciales o personales, suficiente con un VPS tradicional bien dimensionado.
- Se aconseja definir reglas estrictas de firewall permitiendo solo conexiones al puerto 8080 desde IPs confiables, y mantener actualizadas las imágenes Docker descargando las últimas versiones desde Docker Hub periódicamente.
- En escenarios multiusuario, cada cuenta WhatsApp puede gestionarse con su propia API Key, lo que otorga flexibilidad para distintos proyectos, departamentos o automatizaciones.
- Para entornos realmente críticos, haz copias de seguridad regulares de la base de datos PostgreSQL y de los volúmenes Docker asociados.
Despliegue en plataformas externas y cloud
Algunos repositorios y tutoriales destacan la posibilidad de utilizar servicios en la nube como Railway para montar Evolution API junto a PostgreSQL y Redis, acelerando el proceso y facilitando pruebas o despliegues en entornos temporales. Basta con elegir la opción adecuada para cada servicio, importar el repositorio y definir las variables de entorno como en el despliegue local.
Para mantener el control total de los datos y el cumplimiento normativo, es recomendable para producción utilizar servidores propios o VPS dedicados, optimizando además el rendimiento y aminorando la latencia para aplicaciones que deban interactuar en tiempo real con los clientes.
El despliegue de Evolution API empleando Docker resulta la opción más segura y profesional para quienes buscan libertad total en la automatización de WhatsApp, ahorrando importantes costes recurrentes y con total flexibilidad para enfrentar cualquier proyecto, desde bots de atención 24/7 hasta integraciones con CRM o módulos de marketing. El proceso de instalación es rápido y transparente, siempre que se sigan los pasos detallados de configuración de credenciales y permisos, apoyándose en una comunidad activa y abundante documentación disponible.







