Update README.md

This commit is contained in:
Marco Gallegos
2025-07-05 12:41:24 -06:00
committed by GitHub
parent e6e030eb08
commit 25d4e71eab

106
README.md
View File

@@ -1,64 +1,70 @@
# Stack de n8n y Evolution API para Coolify
### Versión 3.0 - Segura y Lista para Producción
Este repositorio contiene la configuración de Docker Compose para desplegar un stack completo con n8n y Evolution API, utilizando una base de datos PostgreSQL y una instancia de Redis compartidas.
Este repositorio contiene la configuración de Docker Compose para desplegar un stack completo y unificado con **n8n** y **Evolution API**, utilizando servicios compartidos de PostgreSQL y Redis.
Está diseñado para ser desplegado fácilmente en [Coolify](https://coolify.io) a través de su integración con Git.
Está diseñado para ser desplegado de forma robusta y segura en **Coolify** a través de su integración con Git.
---
## Arquitectura Clave
Esta configuración utiliza un enfoque profesional para garantizar un despliegue estable:
1. **Imagen de PostgreSQL Personalizada:** Se usa un `Dockerfile.postgres` para construir una imagen propia de PostgreSQL que incluye el script de inicialización. Esto elimina por completo los errores de montaje de volúmenes.
2. **Sin Mapeo de Puertos:** No se usa la sección `ports` para dejar que el proxy de Coolify gestione el tráfico y los certificados SSL, evitando conflictos.
3. **Gestión de Secretos Centralizada:** Todas las variables de entorno, especialmente los secretos, se gestionan **exclusivamente** en la interfaz de usuario de Coolify. **Este repositorio no contiene ninguna contraseña o clave de API.**
## Estructura del Repositorio
```
/
|-- .gitignore
|-- .env.example <-- Plantilla de todas las variables necesarias. ¡NO CONTIENE SECRETOS!
|-- docker-compose.yaml <-- Orquesta los servicios y construye la imagen de Postgres.
|-- Dockerfile.postgres <-- Define cómo construir nuestra imagen de Postgres.
|-- init-db.sh <-- Script para crear la base de datos de Evolution.
`-- README.md <-- Esta guía.
```
## Servicios
- **n8n**: Servicio de automatización de flujos de trabajo.
- **api**: Servicio de Evolution API para la conexión con WhatsApp.
- **postgres**: Servidor de base de datos PostgreSQL 16, compartido por n8n y la API.
- **redis**: Servidor de caché Redis, utilizado por la API de Evolution.
| Nombre del Servicio | Descripción | Accesible en |
| ------------------- | ---------------------------------------------- | ------------------------------------------------ |
| `n8n_app` | El servicio de automatización de flujos n8n. | `https://flows.soul23.cloud` (vía proxy Coolify) |
| `evolution_api` | La API de Evolution para la conexión con WA. | `https://evo.soul23.cloud` (vía proxy Coolify) |
| `pg_database` | Servidor PostgreSQL 16 compartido. | `pg_database:5432` (red interna de Docker) |
| `redis_cache` | Servidor de caché Redis para Evolution. | `redis_cache:6379` (red interna de Docker) |
## Despliegue en Coolify
---
1. **Crea un repositorio Git** (si estás leyendo esto, ya lo hiciste).
2. En Coolify, crea un nuevo recurso de tipo **Application**.
3. Elige **Deploy from a Git Repository (Docker Compose)**.
4. Selecciona este repositorio. Coolify detectará automáticamente el `docker-compose.yml`.
5. Ve a la pestaña **Environment Variables** y añade las variables de entorno necesarias (ver sección abajo). **No las guardes en un archivo `.env` en el repositorio.**
6. En la pestaña **Domains**, configura los dominios para los puertos `5678` (n8n) y `8080` (Evolution API).
- `https://flows2.soul23.cloud` -> `n8n:5678`
- `https://evo2.soul23.cloud` -> `api:8080`
7. ¡Despliega!
## Guía de Despliegue en Coolify
## Variables de Entorno
1. **Pre-requisitos:** Asegúrate de que tus registros DNS (`flows.soul23.cloud` y `evo.soul23.cloud`) apunten a la IP de tu servidor Coolify.
Debes configurar estas variables en la UI de Coolify. **NO LAS SUBAS AL REPOSITORIO.**
2. **Configuración en Coolify:**
- Crea una nueva **Application** desde este repositorio de Git.
- **Build Pack:** `Docker Compose`
- **Base Directory:** `/`
- **Docker Compose Location:** `/docker-compose.yaml`
```ini
# --- Configuración Global ---
TZ=America/Monterrey
3. **Variables de Entorno (¡Importante!):**
- Ve a la pestaña **Environment Variables**.
- Usa el archivo `.env.example` de este repositorio como **plantilla** para saber qué variables necesitas.
- Añade las variables una por una o en modo "raw", reemplazando los valores de ejemplo con **tus secretos reales**. **Nunca subas tus secretos a Git.**
# --- FQDNs (Dominios) ---
SERVICE_FQDN_N8N=https://flows2.soul23.cloud
N8N_HOST=flows2.soul23.cloud
SERVICE_FQDN_EVO=https://evo2.soul23.cloud
4. **Dominios:**
- Ve a la pestaña **Domains** y configura las rutas:
- `https://flows.soul23.cloud` -> `n8n_app` (puerto `5678`)
- `https://evo.soul23.cloud` -> `evolution_api` (puerto `8080`)
# --- Credenciales de la Base de Datos (Unificadas) ---
POSTGRES_USER=usuario_seguro
POSTGRES_PASSWORD=contraseña_muy_segura_y_larga
5. **Guardar y Desplegar:**
- Guarda toda la configuración y haz clic en **Deploy**.
# --- Nombres de las Bases de Datos ---
N8N_DB_NAME=n8n
EVOLUTION_DB_NAME=evolution
# --- Credenciales de API ---
EVOLUTION_API_KEY=tu_api_key_secreta_para_evolution
# --- Configuración SMTP para n8n ---
N8N_EMAIL_MODE=smtp
N8N_SMTP_HOST=smtp.hostinger.com
N8N_SMTP_PORT=465
N8N_SMTP_USER=dev@vanityexperience.mx
N8N_SMTP_PASS=tu_contraseña_smtp
N8N_SMTP_SENDER="n8n AlMa"
N8N_SMTP_SSL=true
# --- OTRAS VARIABLES DE EVOLUTION API ---
# Añade aquí el resto de tus variables de configuración de Evolution API
# Ejemplo:
# WEBHOOK_EVENTS_MESSAGES_UPSERT=true
# ... etc ...
```
### Solución de Problemas (Arranque en Frío)
Si un despliegue falla, el método más fiable es limpiar el estado anterior:
1. **Stop** la aplicación.
2. Ve a **Persistent Storage** y **elimina todos los volúmenes**.
3. **Redeploy**.