¿Sabías que autoalojar n8n te permite reducir tus costos de automatización de 24€ a solo 9€ mensuales? En este artículo aprenderás cómo configurar tu propia instancia de n8n sin limitaciones y con control total sobre tus automatizaciones.
N8n es una plataforma de automatización de flujos de trabajo de código abierto que te otorga control completo sobre tus integraciones y datos. A diferencia de soluciones como Zapier, puedes instalarlo en tu propia infraestructura y personalizarlo según tus necesidades específicas.
Cuando autoalojas n8n, ejecutas la aplicación en tu propio servidor en lugar de depender de servicios en la nube. Esto te proporciona control total sobre recursos, configuraciones y datos, además de eliminar las restricciones de los planes de pago.
A continuación, te mostraremos paso a paso cómo instalar y configurar n8n de forma segura. Cubriremos desde los requisitos básicos hasta las mejores prácticas de seguridad para mantener tu instalación funcionando sin problemas.
Para nuestro ejemplo, utilizaremos un servidor con 2 núcleos de CPU, 2 GB de RAM y 40 GB de almacenamiento. Estos recursos son suficientes para ejecutar n8n eficientemente y te permitirán crear automatizaciones potentes sin las limitaciones de los planes comerciales.
Recuerda que al finalizar este tutorial tendrás una herramienta de automatización completamente personalizable, con acceso a todas las funciones de n8n y un ahorro significativo en costos operativos.
Puntos Clave N8N Self Hosted
Autoalojar n8n te permite ahorrar hasta un 62% en costos mensuales mientras obtienes control total sobre tus automatizaciones, desde solo 9€/mes versus 24€ del plan básico SaaS.
• Requisitos mínimos: Servidor Ubuntu 22.04+, Docker, dominio propio y mínimo 2GB RAM para ejecutar n8n de forma estable en producción.
• Seguridad esencial: Configura HTTPS con Nginx + Certbot, activa autenticación básica y usa variables de entorno seguras para proteger credenciales.
• Docker Compose simplifica todo: Un solo archivo YAML gestiona n8n + PostgreSQL, facilitando instalación, actualizaciones y mantenimiento futuro.
• Webhooks requieren configuración específica: Valida DNS, usa HTTPS completo en WEBHOOK_URL y evita números de puerto para funcionamiento correcto.
• Mantenimiento preventivo: Realiza backups regulares de volúmenes Docker, ajusta NODE_OPTIONS para evitar fugas de memoria y actualiza de forma segura.
Con la configuración adecuada, n8n autoalojado se convierte en una herramienta de automatización empresarial sin las limitaciones de los planes SaaS, ofreciendo escalabilidad total y privacidad de datos en tu propia infraestructura.
Requisitos técnicos para autoalojar n8n en producción
Para configurar n8n en tu propio servidor, necesitas preparar una infraestructura básica que garantice estabilidad y rendimiento óptimo. Si bien la flexibilidad del autoalojamiento es una gran ventaja, establecer una base técnica sólida resulta fundamental para el éxito de tu implementación.
Servidor Ubuntu 22.04+ con acceso root
Ubuntu 22.04 LTS o versiones posteriores representan la opción más recomendada para desplegar n8n en producción. Esta distribución te ofrece estabilidad a largo plazo y compatibilidad completa con todas las dependencias que n8n necesita para funcionar correctamente.
El acceso root o privilegios sudo son indispensables para completar la instalación. Con estos permisos podrás realizar las siguientes tareas esenciales:
- Actualizar paquetes del sistema operativo
- Instalar Docker y sus dependencias
- Configurar servicios de red y puertos
- Gestionar certificados SSL automáticamente
Antes de proceder con la instalación, actualiza tu sistema:
sudo apt update && sudo apt upgrade
Instalación de Docker y Docker Compose
Te recomendamos utilizar Docker para desplegar n8n, ya que esta solución encapsula la aplicación con todas sus dependencias en un contenedor aislado. Los beneficios principales incluyen:
- Estabilidad garantizada: las actualizaciones del sistema no afectarán tu instalación
- Actualizaciones sencillas: migra a nuevas versiones con comandos simples
- Mantenimiento mínimo: perfecto si tienes recursos técnicos limitados
Instala Docker y Docker Compose ejecutando:
sudo apt install docker.io docker-compose -y
Verifica que la instalación funciona correctamente:
sudo docker run hello-world
Si aparece el mensaje “hello-world”, Docker está listo para usar.
Dominio apuntando a la IP del servidor
Para acceder a n8n desde cualquier ubicación, configura un dominio o subdominio que direccione hacia la IP de tu servidor. Esta configuración permite:
- Acceso remoto seguro a tu instancia
- Funcionamiento correcto de certificados SSL
- Operación adecuada de webhooks y notificaciones
En tu proveedor de DNS, crea este registro A:
Tipo de registro | Nombre | Destino |
---|---|---|
A | n8n (o tu subdominio preferido) |
<IP_de_tu_servidor> |
Una vez configurado, accederás a n8n mediante HTTPS en la URL que hayas establecido (por ejemplo: https://n8n.tudominio.com
).
Recomendaciones de recursos: 2 GB RAM mínimo
N8n no demanda recursos intensivos de CPU, pero sí requiere memoria suficiente para procesar flujos de trabajo complejos. Las especificaciones recomendadas son:
- RAM: 2 GB mínimo, 4 GB para uso intensivo en producción
- CPU: 2 núcleos/vCPUs cubren la mayoría de necesidades
- Almacenamiento: 20-40 GB en SSD para mejor rendimiento
- Conexión: Internet estable y confiable
Es importante tener en cuenta que n8n consume más memoria que procesador. Una instancia básica utiliza aproximadamente 100 MB en reposo, pero este consumo aumenta considerablemente según la complejidad de tus automatizaciones y el volumen de datos procesados.
Para implementaciones pequeñas y medianas, un VPS económico resulta suficiente. Puedes encontrar opciones desde 5-10€ mensuales en proveedores como Hetzner[82], lo que representa un ahorro significativo comparado con planes SaaS comerciales.
Instalación de n8n con Docker Compose paso a paso
Image Source: Medium
Ya tienes preparado tu servidor con todos los requisitos técnicos. Es momento de instalar n8n utilizando Docker Compose, la forma más eficiente para desplegar esta plataforma en producción.
Paso 1: Crear el archivo docker-compose.yml
Crea un directorio específico para n8n y el archivo de configuración:
mkdir ~/n8n && cd ~/n8n
nano docker-compose.yml
Copia el siguiente contenido en el archivo docker-compose.yml:
version: '3.7'
services:
db:
image: postgres:14
restart: unless-stopped
environment:
- POSTGRES_USER=n8n
- POSTGRES_PASSWORD=n8npass
- POSTGRES_DB=n8n
volumes:
- postgres_data:/var/lib/postgresql/data
n8n:
image: n8nio/n8n
restart: unless-stopped
ports:
- "5678:5678"
environment:
- DB_TYPE=postgresdb
- DB_POSTGRESDB_HOST=db
- DB_POSTGRESDB_DATABASE=n8n
- DB_POSTGRESDB_USER=n8n
- DB_POSTGRESDB_PASSWORD=n8npass
- N8N_HOST=tudominio.com
- N8N_PROTOCOL=https
volumes:
- n8n_data:/home/node/.n8n
depends_on:
- db
volumes:
postgres_data:
n8n_data:
Este archivo define dos servicios esenciales: n8n y PostgreSQL. Los volúmenes persistentes garantizan que tus datos se mantengan seguros incluso al reiniciar contenedores.
Paso 2: Configurar PostgreSQL como base de datos
Por defecto, n8n utiliza SQLite, pero PostgreSQL ofrece mejor rendimiento y confiabilidad para entornos de producción. Las variables de configuración más importantes son:
DB_TYPE=postgresdb
: Utiliza PostgreSQL en lugar de SQLiteDB_POSTGRESDB_HOST=db
: Nombre del servicio de base de datosDB_POSTGRESDB_DATABASE=n8n
: Nombre de la base de datosDB_POSTGRESDB_USER=n8n
: Usuario de accesoDB_POSTGRESDB_PASSWORD=n8npass
: Contraseña (cámbiala por una segura)
Importante: N8n necesita privilegios para crear y modificar esquemas de tablas. La configuración que mostramos incluye todos los permisos necesarios.
Paso 3: Variables de entorno para seguridad básica
Configura la seguridad inicial mediante estas variables de entorno en docker-compose.yml:
N8N_BASIC_AUTH_ACTIVE=true
: Activa autenticación básicaN8N_BASIC_AUTH_USER=admin
: Usuario de acceso a n8nN8N_BASIC_AUTH_PASSWORD=strongpass
: Contraseña robustaN8N_HOST=tudominio.com
: Dominio de acceso a n8nN8N_PROTOCOL=https
: Protocolo para producciónN8N_ENCRYPTION_KEY=tu_clave_segura
: Clave para cifrar credenciales en la base de datos
Te recomendamos definir tu propia clave de cifrado si planeas múltiples instancias o copias de seguridad. N8n genera una clave aleatoria por defecto, pero tener control sobre ella te dará más flexibilidad.
Paso 4: Iniciar contenedores y verificar funcionamiento
Inicia los contenedores en segundo plano:
docker-compose up -d
Verifica que todo funcione correctamente revisando los logs:
docker-compose logs -f n8n
Accede a n8n desde tu navegador:
http://tu_ip_servidor:5678
Si configuraste un dominio sin HTTPS, verás advertencias de seguridad. N8n utiliza cookies seguras por defecto que requieren HTTPS. Para desarrollo puedes añadir N8N_SECURE_COOKIE=false
, pero en producción configura HTTPS con certificados válidos.
Para futuras actualizaciones, solo necesitas estos comandos:
docker-compose pull
docker-compose down
docker-compose up -d
Con estos pasos tienes n8n funcionando con Docker Compose. El siguiente paso es configurar HTTPS para asegurar tu instalación y comenzar a crear flujos de trabajo automatizados.
¿Cómo configurar HTTPS y autenticación segura en n8n?
Image Source: n8n Community
Configurar correctamente la seguridad es fundamental para proteger tu instalación de n8n. Sin HTTPS y autenticación adecuada, tus flujos de trabajo y credenciales quedan expuestos a riesgos innecesarios.
Paso 1: Instala Nginx y Certbot para certificados SSL
Para implementar HTTPS en tu instancia, necesitas instalar Nginx como proxy inverso y Certbot para gestionar certificados SSL gratuitos de Let’s Encrypt:
sudo apt install nginx
sudo apt install certbot python3-certbot-nginx
Estas herramientas te proporcionan todo lo necesario para crear una capa de seguridad robusta.
Paso 2: Configura el proxy inverso con certificados SSL
Después de instalar Nginx, crea un archivo de configuración específico para n8n:
sudo nano /etc/nginx/sites-available/n8n
Añade la siguiente configuración, reemplazando n8n.tudominio.com
con tu dominio real:
server {
listen 80;
server_name n8n.tudominio.com;
location / {
proxy_pass http://localhost:5678;
proxy_http_version 1.1;
proxy_set_header Upgrade $http_upgrade;
proxy_set_header Connection "upgrade";
proxy_set_header Host $host;
proxy_set_header X-Real-IP $remote_addr;
proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
proxy_set_header X-Forwarded-Proto $scheme;
}
}
Una vez creado el archivo, activa la configuración y solicita tu certificado SSL:
sudo ln -s /etc/nginx/sites-available/n8n /etc/nginx/sites-enabled/
sudo nginx -t
sudo systemctl reload nginx
sudo certbot --nginx -d n8n.tudominio.com
Certbot modificará automáticamente tu configuración de Nginx para incluir el certificado SSL y redireccionar todo el tráfico HTTP a HTTPS.
Paso 3: Configura autenticación básica y cookies seguras
N8n utiliza cookies seguras por defecto, que requieren HTTPS para funcionar correctamente. Si intentas acceder mediante HTTP, verás errores de cookies.
Para establecer credenciales seguras, modifica tu archivo docker-compose.yml añadiendo estas variables de entorno:
environment:
- N8N_BASIC_AUTH_ACTIVE=true
- N8N_BASIC_AUTH_USER=admin
- N8N_BASIC_AUTH_PASSWORD=contraseña_muy_segura
- N8N_HOST=n8n.tudominio.com
- N8N_PROTOCOL=https
- N8N_ENCRYPTION_KEY=tu_clave_segura_personalizada
- WEBHOOK_URL=https://n8n.tudominio.com/
Importante: La variable N8N_HOST
debe contener solo el nombre de dominio (sin puerto ni protocolo), mientras que WEBHOOK_URL
debe incluir el protocolo HTTPS completo.
Esta configuración permite que los webhooks funcionen correctamente y que las integraciones OAuth se conecten sin problemas.
Para verificar que la renovación automática de certificados está configurada correctamente, ejecuta:
sudo systemctl status certbot.timer
Con esta configuración, tu instancia de n8n quedará protegida con HTTPS y autenticación básica, lista para el siguiente paso de configuración.
Tu primer flujo de trabajo en n8n
Image Source: GitHub
Una vez configurada tu instancia, es momento de crear tu primer flujo automatizado para verificar que todo funciona correctamente.
Configuración inicial de tu cuenta
Al acceder por primera vez a tu instalación de n8n, deberás crear una cuenta de administrador. Introduce tu correo electrónico y una contraseña segura. Esta cuenta tendrá control completo sobre todos los flujos de trabajo y credenciales de tu instancia.
Navegación por el editor visual
El editor de n8n te permite crear automatizaciones arrastrando y conectando nodos en un lienzo visual. En el panel izquierdo encontrarás el Overview para gestionar todos tus flujos y el historial de ejecuciones. La barra superior incluye controles para activar, guardar y compartir tus flujos.
Para crear tu primer flujo, selecciona “Workflow” desde el menú principal.
Creación de un flujo básico con webhook
Te mostraremos cómo crear un flujo sencillo que reciba datos y responda automáticamente:
Paso 1: Añade un nodo “Webhook” haciendo clic en el botón “+” del lienzo.
Paso 2: Configura el webhook con método HTTP POST y selecciona la opción “Respond using ‘Respond to Webhook’ node”.
Paso 3: Conecta un nodo “Set” para procesar los datos recibidos.
Paso 4: Finaliza añadiendo un nodo “Respond to Webhook” para devolver una respuesta personalizada.
Activación y prueba del flujo
Guarda tu flujo y actívalo utilizando el interruptor en la parte superior. Para verificar su funcionamiento, utiliza este comando curl:
curl -X POST https://n8n.tudominio.com/webhook/path -H "Content-Type: application/json" -d '{"dato":"valor"}'
Verás la respuesta configurada en tu nodo final y podrás revisar los detalles de la ejecución en el panel de historial.
Recuerda que este es solo un ejemplo básico. N8n permite crear automatizaciones mucho más complejas conectando servicios externos, procesando datos y ejecutando acciones avanzadas.
Problemas frecuentes y cómo mantener tu instalación sin errores
Image Source: Ajeet Singh Raina
Una vez que tienes n8n funcionando, es importante conocer los errores más habituales y cómo resolverlos rápidamente. En esta sección aprenderás a mantener tu instancia autoalojada funcionando de forma estable.
Error 401: Verificar credenciales de acceso
¿Te aparece un error 401 al intentar acceder? Este problema suele ocurrir cuando las credenciales están mal configuradas. Para solucionarlo, revisa estas variables en tu archivo docker-compose.yml:
N8N_BASIC_AUTH_USER
: Usuario para acceder a n8nN8N_BASIC_AUTH_PASSWORD
: Contraseña del usuario
Si utilizas tokens de API externos, recuerda incluir el prefijo “Bearer” de esta forma: Bearer <tu-token-api>
.
Webhooks que no funcionan: Comprobar DNS y configuración
Los webhooks son fundamentales para muchas automatizaciones. Si no funcionan correctamente, sigue estos pasos:
Paso 1: Verifica que tu dominio apunta a la IP correcta con nslookup n8n.tudominio.com
Paso 2: Asegúrate de que WEBHOOK_URL
incluye HTTPS completo
Paso 3: Confirma que no aparezcan números de puerto (:5678
) en las URLs de webhook
Si utilizas Traefik, puedes revisar los logs con:
docker logs traefik | grep -i certificate
Memoria insuficiente: Configurar NODE_OPTIONS
N8n puede requerir más memoria al procesar grandes volúmenes de datos. Para evitar el error “JavaScript heap out of memory”, añade esta variable de entorno:
environment:
- NODE_OPTIONS=--max-old-space-size=2048
Esta configuración asigna 2GB de memoria al motor JavaScript, suficiente para la mayoría de casos de uso.
Copias de seguridad: Proteger tus datos
Te recomendamos realizar copias de seguridad regulares de los volúmenes n8n_data
y postgres_data
. Para respaldar la base de datos PostgreSQL, ejecuta:
docker exec nombre_contenedor_postgres pg_dump -U n8n n8n > backup_n8n_$(date +%Y%m%d).sql
Actualizaciones seguras: Mantener n8n al día
Para actualizar n8n sin perder configuraciones, utiliza estos comandos:
docker-compose pull
docker-compose down
docker-compose up -d
Recuerda que siempre debes hacer una copia de seguridad antes de actualizar para evitar pérdida de datos.
Si tienes alguna pregunta sobre el mantenimiento de tu instalación, nuestro equipo de soporte estará encantado de ayudarte.
¿Qué has conseguido con tu instalación de n8n autoalojado?
!Diagram showing a complete AI automation stack using n8n workflow engine, local AI models on GPU, and Docker MCP toolkit for secure access.
Image Source: Ajeet Singh Raina
Autoalojar n8n te permite tener control total sobre tus automatizaciones mientras ahorras más del 60% comparado con los planes de pago comerciales. A través de esta guía has configurado una instalación completa, desde los requisitos básicos hasta la implementación de HTTPS y la creación de tus primeros flujos automatizados.
Los beneficios son claros: por apenas 9€ mensuales dispones de una plataforma de automatización sin limitaciones, frente a los 24€ de los planes básicos comerciales. Además, tienes libertad completa para personalizar recursos, configuraciones y escalabilidad según tus necesidades.
La seguridad que has implementado con Nginx, certificados SSL y autenticación básica protege tanto tus flujos de trabajo como tus credenciales. Esta configuración profesional garantiza que tu instalación esté lista para entornos de producción.
Para mantener tu instancia funcionando correctamente, recuerda aplicar las estrategias de mantenimiento que hemos cubierto: copias de seguridad regulares, actualizaciones seguras y resolución rápida de problemas comunes.
Si necesitas ayuda para implementar n8n en tu empresa de forma profesional, contáctanos y te mostraremos cómo aprovechar al máximo esta herramienta. Con la configuración adecuada, n8n eliminará tareas repetitivas y te permitirá concentrarte en hacer crecer tu negocio.
¿Tu siguiente paso? Comienza creando flujos más complejos, conecta servicios externos mediante webhooks y explora las integraciones avanzadas. Tu instalación autoalojada te ofrece un control completo para desarrollar automatizaciones que se adapten perfectamente a tus objetivos específicos.
FAQs
Q1. ¿Cuáles son los requisitos mínimos para autoalojar n8n?
Para autoalojar n8n se necesita un servidor con Ubuntu 22.04 o superior, Docker y Docker Compose instalados, un dominio apuntando al servidor, y al menos 2 GB de RAM. Se recomienda un mínimo de 2 núcleos de CPU y 20-40 GB de almacenamiento SSD.
Q2. ¿Cómo puedo configurar HTTPS para mi instancia autoalojada de n8n?
Para configurar HTTPS, instala Nginx y Certbot en tu servidor. Crea un archivo de configuración de Nginx para n8n, solicita un certificado SSL con Certbot, y configura las variables de entorno N8N_PROTOCOL y WEBHOOK_URL en tu archivo docker-compose.yml para usar https.
Q3. ¿Qué medidas de seguridad debo implementar en mi instalación de n8n?
Implementa autenticación básica configurando las variables N8N_BASIC_AUTH_ACTIVE, N8N_BASIC_AUTH_USER y N8N_BASIC_AUTH_PASSWORD. Usa HTTPS, configura una clave de cifrado personalizada con N8N_ENCRYPTION_KEY, y mantén tu sistema y n8n actualizados regularmente.
Q4. ¿Cómo puedo hacer copias de seguridad de mi instancia de n8n?
Realiza copias de seguridad regulares de los volúmenes de Docker n8n_data y postgres_data. Para la base de datos PostgreSQL, puedes usar el comando pg_dump desde dentro del contenedor. Siempre haz una copia de seguridad antes de actualizar la versión de n8n.
Q5. ¿Cuáles son los errores más comunes al autoalojar n8n y cómo solucionarlos?
Los errores más comunes incluyen problemas de autenticación (error 401), fallos en webhooks por configuración incorrecta de DNS o puertos, y fugas de memoria. Verifica las credenciales, asegúrate de que el dominio apunte correctamente al servidor, configura correctamente WEBHOOK_URL, y ajusta NODE_OPTIONS para manejar la memoria si es necesario.