Skip to content

keba2503/n8n-deploy

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

1 Commit
 
 
 
 
 
 
 
 
 
 

Repository files navigation

n8n Deploy

Configuración de producción para n8n con Docker Compose.

Características

  • n8n con PostgreSQL (no SQLite)
  • Queue mode con Redis para escalabilidad
  • SSL automático con Traefik y Let's Encrypt
  • Workers para procesamiento distribuido
  • Scripts de gestión y backup

Arquitectura

                    ┌─────────────────┐
                    │    Internet     │
                    └────────┬────────┘
                             │ HTTPS (443)
                    ┌────────▼────────┐
                    │     Traefik     │
                    │   (SSL/Proxy)   │
                    └────────┬────────┘
                             │
              ┌──────────────┴──────────────┐
              │                             │
    ┌─────────▼─────────┐       ┌──────────▼──────────┐
    │     n8n Main      │       │     n8n Worker      │
    │   (UI/API/Cron)   │       │   (Job Processor)   │
    └─────────┬─────────┘       └──────────┬──────────┘
              │                            │
              └──────────────┬─────────────┘
                             │
              ┌──────────────┼──────────────┐
              │              │              │
    ┌─────────▼───────┐ ┌────▼────┐
    │   PostgreSQL    │ │  Redis  │
    │   (Datos)       │ │ (Cola)  │
    └─────────────────┘ └─────────┘

Requisitos

  • Servidor con Ubuntu 22.04+ (o similar)
  • Docker y Docker Compose
  • Dominio apuntando al servidor
  • Puertos 80 y 443 abiertos

Instalación Rápida

# 1. Clonar repositorio
git clone https://github.com/keba2503/n8n-deploy.git
cd n8n-deploy

# 2. Configurar
./scripts/setup.sh

# 3. Editar .env con tu dominio
nano .env

# 4. Iniciar
./scripts/n8n.sh start

Configuración

Edita el archivo .env:

# Tu dominio (debe apuntar al servidor)
N8N_DOMAIN=n8n.tudominio.com

# Email para certificados SSL
[email protected]

# Zona horaria
TIMEZONE=America/Mexico_City

Las claves de seguridad se generan automáticamente.

Comandos

# Gestión básica
./scripts/n8n.sh start      # Iniciar
./scripts/n8n.sh stop       # Detener
./scripts/n8n.sh restart    # Reiniciar
./scripts/n8n.sh status     # Ver estado

# Logs
./scripts/n8n.sh logs           # Logs de n8n
./scripts/n8n.sh logs postgres  # Logs de PostgreSQL
./scripts/n8n.sh logs redis     # Logs de Redis

# Mantenimiento
./scripts/n8n.sh update     # Actualizar n8n
./scripts/n8n.sh backup     # Crear backup
./scripts/n8n.sh restore backup.tar.gz  # Restaurar

# Escalar
./scripts/n8n.sh scale-workers 3  # 3 workers

Backups

Los backups incluyen:

  • Workflows exportados
  • Credenciales (encriptadas)
  • Dump de PostgreSQL
# Crear backup
./scripts/n8n.sh backup

# Los backups se guardan en ./backups/
ls backups/

Escalar Workers

Para mayor capacidad de procesamiento:

# Escalar a 3 workers
./scripts/n8n.sh scale-workers 3

# Ver workers activos
docker compose ps

Troubleshooting

n8n no inicia

# Ver logs
./scripts/n8n.sh logs

# Verificar salud de servicios
./scripts/n8n.sh status

SSL no funciona

  • Verificar que el dominio apunta al servidor
  • Verificar puertos 80 y 443 abiertos
  • Ver logs de Traefik: docker compose logs traefik

Webhooks no llegan

  • Verificar WEBHOOK_URL en .env
  • Verificar que el workflow está activado (Published)

Estructura

n8n-deploy/
├── docker-compose.yml    # Servicios Docker
├── .env.example          # Template de configuración
├── .env                  # Configuración (no en git)
├── scripts/
│   ├── setup.sh          # Configuración inicial
│   └── n8n.sh            # Gestión de servicios
├── backups/              # Backups (no en git)
└── README.md

Licencia

MIT

About

Production-ready n8n deployment with Docker Compose, PostgreSQL, Redis queue mode and Traefik SSL

Topics

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

 
 
 

Contributors

Languages