Ir al contenido principal

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
    environment:
      - REDIS_URI=redis://redis:6379
    volumes:
      - evolution_store:/evolution/store
      - evolution_instances:/evolution/instances
    depends_on:
      - redis

volumes:
  evolution_store:
  evolution_instances:
  redis_data:

3. Archivo .env

Tu archivo .env debe quedar así:

AUTHENTICATION_API_KEY=superseguro123

# Configuración PostgreSQL local
DATABASE_ENABLED=true
DATABASE_PROVIDER=postgresql
DATABASE_CONNECTION_URI=postgresql://postgres:tucontrasña@192.168.1.1:5432/evolution?schema=public
DATABASE_CONNECTION_CLIENT_NAME=evolution_exchange

# Configuración Redis
REDIS_URI=redis://redis:6379
REDIS_ENABLED=true

# Guardar datos en la DB
DATABASE_SAVE_DATA_INSTANCE=true
DATABASE_SAVE_DATA_NEW_MESSAGE=true
DATABASE_SAVE_MESSAGE_UPDATE=true
DATABASE_SAVE_DATA_CONTACTS=true
DATABASE_SAVE_DATA_CHATS=true
DATABASE_SAVE_DATA_LABELS=true
DATABASE_SAVE_DATA_HISTORIC=true

CONFIG_SESSION_PHONE_VERSION=2.3000.1023204200
WEBSOCKET_ENABLED=true

4. Configurar PostgreSQL para múltiples usuarios

Para que todos los usuarios puedan usar la base de datos:

psql -h 192.168.100.99 -U postgres

-- Crear base de datos
CREATE DATABASE evolution;

-- Crear usuario con permisos completos
CREATE USER evolution_user WITH PASSWORD 'usuario_password';
GRANT ALL PRIVILEGES ON DATABASE evolution TO evolution_user;

-- Otorgar acceso a futuras tablas
\c evolution
ALTER DEFAULT PRIVILEGES IN SCHEMA public GRANT ALL ON TABLES TO evolution_user;

5. Levantar los contenedores

docker compose up -d
docker ps

Deberías ver evolution_api y evolution_redis activos.

6. Acceder al contenedor en caso necesario

docker exec -it evolution_api /bin/sh

Te permite ejecutar comandos dentro del contenedor como si estuvieras en otra máquina. Es útil para inspeccionar archivos, revisar configuraciones o ejecutar scripts internos. No hace nada automáticamente; solo te da acceso al entorno interno del contenedor.

7. Probar y administrar la base de datos

psql -h tu_ip -U evolution_user -d evolution

Esto permite que todos los usuarios conectados puedan guardar datos de sesiones, mensajes, contactos y chats de manera centralizada.

8. Consejos finales

  • Ver logs del API: docker logs -f evolution_api
  • Reiniciar un contenedor: docker restart evolution_api
  • Redis y PostgreSQL aseguran persistencia aunque reinicies los contenedores.

Con esto tienes Evolution API corriendo en Docker, con Redis para sesiones y PostgreSQL local para múltiples usuarios, listo para integraciones y automatizaciones.

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 DeepSeek R1 1.5B en Ubuntu 24.04 sin GPU

Instalar DeepSeek en tu sistema sin GPU, pasos: Especificaciones del Entorno de Pruebas Componente Detalle SO Ubuntu Cinnamon 24.04 LTS x86_64 Kernel 6.8.0-51-generic CPU Intel i7-6820HQ (8 núcleos) @ 3.600GHz GPUs AMD ATI Radeon HD 8830M / R7 250 / R7 M465X Intel HD Graphics 530 RAM 15.882 GB (3.716 GB en uso) Resolución 1440x810 Escritorio Cinnamon 6.0.4 1. Instalar Git LFS sudo apt-get install git-lfs git lfs install 2. Clonar el repositorio cd /opt sudo mkdir deepseek && sudo chown $USER:$USER deepseek cd deepseek git clone https://huggingface.co/deepseek-ai/DeepSeek-R1-Distill-Qwen-1.5B 3. Crear y activar un entorno virtual python -m ve...

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