Configuración de producción para n8n con Docker Compose.
- 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
┌─────────────────┐
│ Internet │
└────────┬────────┘
│ HTTPS (443)
┌────────▼────────┐
│ Traefik │
│ (SSL/Proxy) │
└────────┬────────┘
│
┌──────────────┴──────────────┐
│ │
┌─────────▼─────────┐ ┌──────────▼──────────┐
│ n8n Main │ │ n8n Worker │
│ (UI/API/Cron) │ │ (Job Processor) │
└─────────┬─────────┘ └──────────┬──────────┘
│ │
└──────────────┬─────────────┘
│
┌──────────────┼──────────────┐
│ │ │
┌─────────▼───────┐ ┌────▼────┐
│ PostgreSQL │ │ Redis │
│ (Datos) │ │ (Cola) │
└─────────────────┘ └─────────┘
- Servidor con Ubuntu 22.04+ (o similar)
- Docker y Docker Compose
- Dominio apuntando al servidor
- Puertos 80 y 443 abiertos
# 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 startEdita 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_CityLas claves de seguridad se generan automáticamente.
# 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 workersLos backups incluyen:
- Workflows exportados
- Credenciales (encriptadas)
- Dump de PostgreSQL
# Crear backup
./scripts/n8n.sh backup
# Los backups se guardan en ./backups/
ls backups/Para mayor capacidad de procesamiento:
# Escalar a 3 workers
./scripts/n8n.sh scale-workers 3
# Ver workers activos
docker compose ps# Ver logs
./scripts/n8n.sh logs
# Verificar salud de servicios
./scripts/n8n.sh status- Verificar que el dominio apunta al servidor
- Verificar puertos 80 y 443 abiertos
- Ver logs de Traefik:
docker compose logs traefik
- Verificar
WEBHOOK_URLen.env - Verificar que el workflow está activado (Published)
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
MIT