🚀 Cómo configurar tu propia instancia de n8n en un servidor con Docker
En los últimos años, n8n se ha consolidado como una de las herramientas más potentes y flexibles para la automatización de flujos de trabajo. Gracias a su naturaleza open source, es posible instalarlo en un servidor propio y mantener un control total sobre la información y la infraestructura.
En este artículo aprenderás a configurar una instancia de n8n en tu servidor utilizando Docker, incluyendo la personalización del archivo .env con parámetros esenciales como base de datos, servidor de correo y zona horaria.
🌐 Requisitos previos
Antes de comenzar, asegúrate de contar con lo siguiente en tu servidor:
- Docker y Docker Compose instalados.
- Un usuario con privilegios de administrador.
- Acceso a un dominio o subdominio (opcional, pero recomendado).
- Conocimientos básicos de Linux.
📂 Estructura de archivos
En el directorio de tu proyecto, necesitarás al menos dos archivos:
1. docker-compose.yml
2. .env
⚙️ Archivo docker-compose.yml
Este archivo define los servicios necesarios para levantar la instancia de n8n. A continuación, un ejemplo básico:
version: "3.8"
services:
n8n:
image: docker.n8n.io/n8nio/n8n:latest
container_name: n8n
restart: always
ports:
- "5678:5678"
env_file:
- .env
volumes:
- n8n_data:/home/node/.n8n
volumes:
n8n_data:
📑 Configuración del archivo .env
El archivo .env es fundamental para definir parámetros como la base de datos, el servidor de correo y la zona horaria. Aquí tienes un ejemplo práctico:
# Configuración básica
GENERIC_TIMEZONE=America/Bogota
TZ=America/Bogota
# Configuración del servidor n8n
N8N_HOST=n8n.midominio.com
N8N_PORT=5678
N8N_PROTOCOL=https
# Configuración PostgreSQL
DB_TYPE=postgresdb
DB_POSTGRESDB_DATABASE=n8n_db
DB_POSTGRESDB_HOST=localhost
DB_POSTGRESDB_PORT=5432
DB_POSTGRESDB_USER=n8n_user
DB_POSTGRESDB_PASSWORD=TuClaveSegura
DB_POSTGRESDB_SCHEMA=public
# Configuración servidor de correo
N8N_EMAIL_MODE=smtp
N8N_SMTP_HOST=smtp.midominio.com
N8N_SMTP_PORT=587
N8N_SMTP_USER=[email protected]
N8N_SMTP_PASS=TuClaveDeCorreo
N8N_SMTP_SENDER=n8n [email protected]
# Ejemplo de clave encriptación
N8N_ENCRYPTION_KEY=GeneraUnaClaveLargaYAleatoria
🔑 Recomendaciones importantes:
- Usa contraseñas seguras tanto en la base de datos como en el servidor de correo.
- Si tu servidor expone n8n a internet, asegúrate de configurarlo detrás de un proxy reverso con SSL (por ejemplo, Nginx + Certbot).
- Cambia la clave de encriptación por una cadena única y segura.
▶️ Levantar la instancia
Con ambos archivos listos, solo necesitas ejecutar:
docker-compose up -d
Esto descargará la imagen de n8n, creará los contenedores y montará el servicio en el puerto 5678.
Una vez activo, podrás acceder a tu instancia en:
http://<IP_SERVIDOR>:5678
https://n8n.midominio.com (si configuraste dominio)
✅ Conclusión
Con esta configuración, ya tendrás n8n funcionando en tu propio servidor con Docker, completamente personalizado con tu base de datos, servidor de correo y parámetros de seguridad.
La ventaja de usar Docker es que puedes actualizar, escalar o migrar tu instancia fácilmente, sin preocuparte por configuraciones manuales complejas.
Ahora estás listo para comenzar a diseñar flujos de trabajo automatizados que se adapten a tus necesidades.
h1 { color: #365f91; line-height: 115%; text-align: left; page-break-inside: avoid; orphans: 2; widows: 2; margin-top: 0.85cm; margin-bottom: 0cm; direction: ltr; background: transparent; page-break-after: avoid }h1.western { font-family: "Calibri", serif; font-size: 14pt; font-weight: bold }h1.cjk { font-family: "MS ゴシック"; font-size: 14pt; font-weight: bold }h1.ctl { font-family: ; font-size: 14pt; font-weight: bold }p { line-height: 115%; text-align: left; orphans: 2; widows: 2; margin-bottom: 0.21cm; direction: ltr; background: transparent }