mirror of
https://github.com/marcogll/coolify-n8n-evo.git
synced 2026-01-13 13:25:17 +00:00
Update README.md
This commit is contained in:
106
README.md
106
README.md
@@ -1,64 +1,70 @@
|
|||||||
# Stack de n8n y Evolution API para Coolify
|
# 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
|
## Servicios
|
||||||
|
|
||||||
- **n8n**: Servicio de automatización de flujos de trabajo.
|
| Nombre del Servicio | Descripción | Accesible en |
|
||||||
- **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.
|
| `n8n_app` | El servicio de automatización de flujos n8n. | `https://flows.soul23.cloud` (vía proxy Coolify) |
|
||||||
- **redis**: Servidor de caché Redis, utilizado por la API de Evolution.
|
| `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).
|
## Guía de Despliegue en Coolify
|
||||||
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!
|
|
||||||
|
|
||||||
## 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
|
3. **Variables de Entorno (¡Importante!):**
|
||||||
# --- Configuración Global ---
|
- Ve a la pestaña **Environment Variables**.
|
||||||
TZ=America/Monterrey
|
- 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) ---
|
4. **Dominios:**
|
||||||
SERVICE_FQDN_N8N=https://flows2.soul23.cloud
|
- Ve a la pestaña **Domains** y configura las rutas:
|
||||||
N8N_HOST=flows2.soul23.cloud
|
- `https://flows.soul23.cloud` -> `n8n_app` (puerto `5678`)
|
||||||
SERVICE_FQDN_EVO=https://evo2.soul23.cloud
|
- `https://evo.soul23.cloud` -> `evolution_api` (puerto `8080`)
|
||||||
|
|
||||||
# --- Credenciales de la Base de Datos (Unificadas) ---
|
5. **Guardar y Desplegar:**
|
||||||
POSTGRES_USER=usuario_seguro
|
- Guarda toda la configuración y haz clic en **Deploy**.
|
||||||
POSTGRES_PASSWORD=contraseña_muy_segura_y_larga
|
|
||||||
|
|
||||||
# --- Nombres de las Bases de Datos ---
|
### Solución de Problemas (Arranque en Frío)
|
||||||
N8N_DB_NAME=n8n
|
Si un despliegue falla, el método más fiable es limpiar el estado anterior:
|
||||||
EVOLUTION_DB_NAME=evolution
|
1. **Stop** la aplicación.
|
||||||
|
2. Ve a **Persistent Storage** y **elimina todos los volúmenes**.
|
||||||
# --- Credenciales de API ---
|
3. **Redeploy**.
|
||||||
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 ...
|
|
||||||
```
|
|
||||||
|
|||||||
Reference in New Issue
Block a user