Las herramientas de automatización no-code y low-code llegaron para salvarnos la vida. De eso no hay duda. El problema arranca cuando tus flujos de trabajo empiezan a crecer y te das cuenta de que depender de plataformas como Zapier o Make te puede fundir el presupuesto mensual.
Ahí es donde entra n8n, el gigante de código abierto que te permite automatizar prácticamente todo de forma visual, pero sin pagar de más.
Ahora bien, cuando la gente busca ahorrar, el primer instinto suele ser intentar meter n8n en un hosting compartido. Al fin y al cabo, es barato. Pero te lo digo de entrada para que no pierdas tiempo: no se la banca.
La solución de verdad es levantar un Servidor Privado Virtual (VPS). Con un VPS tenés control absoluto, recursos que son solo tuyos y una IP limpia para que tus integraciones no fallen nunca.
1. El “sweet spot” de hardware: Requisitos para n8n en producción
No necesitás gastar una fortuna en un servidor gigante para empezar, pero tampoco te quedes corto. Para que tus Webhooks no tengan demoras y la base de datos de ejecuciones no se sature, este es el punto de partida ideal:
- Sistema Operativo: Ubuntu 22.04 o 24.04 LTS (instalación limpia).
- Procesador (vCPU): 1 vCPU como mínimo absoluto. Si tus flujos corren en paralelo constantemente, 2 vCPUs es lo ideal.
- Memoria RAM: 2 GB de RAM si hacés flujos sencillos. Si vas a procesar archivos pesados (como PDFs, imágenes o planillas de Excel gigantes), estirate a 4 GB para dormir tranquilo.
- Disco: 20 GB de espacio en SSD o NVMe. n8n escribe un registro de cada tarea que hace, así que la velocidad de lectura y escritura del disco es clave.
2. Instalación paso a paso con Docker Compose
Docker Compose es, por lejos, la forma más limpia de manejar n8n. Te permite actualizar la herramienta en dos minutos y mantiene tu servidor VPS ordenado y libre de conflictos de dependencias.
Paso 1: Actualizar el VPS e instalar Docker
Conectate a tu servidor por SSH. Lo primero es asegurarnos de que todo esté al día:
sudo apt update && sudo apt upgrade -y
Ahora instalamos Docker junto con Docker Compose de un solo tirón:
sudo apt install docker.io docker-compose -y
Habilitamos el servicio para que, si el VPS se reinicia por algún motivo, Docker vuelva a arrancar solo:
sudo systemctl enable --now docker
Paso 2: Crear el espacio de trabajo
Vamos a crear una carpeta dedicada para n8n dentro del directorio /opt:
sudo mkdir -p /opt/n8n/data
cd /opt/n8n
Paso 3: Configurar las variables de entorno (.env)
A n8n le gusta que le pasemos sus configuraciones a través de un archivo de variables de entorno. Vamos a crearlo:
sudo nano .env
Pegá el siguiente bloque de texto. Recordá cambiar n8n.tu-dominio.com por el subdominio real que tengas apuntado a la dirección IP de tu VPS:
# Configuración esencial de n8n
N8N_HOST=n8n.tu-dominio.com
N8N_PORT=5678
N8N_PROTOCOL=https
NODE_ENV=production
WEBHOOK_URL=https://n8n.tu-dominio.com/
# Cuidado del disco (Clave para que no se llene el VPS)
EXECUTIONS_DATA_PRUNE=true
EXECUTIONS_DATA_MAX_AGE=168
Un tip de oro: La variable EXECUTIONS_DATA_PRUNE=true le dice a n8n que borre el historial de tareas que tengan más de 168 horas (7 días). Si no activás esto, tu base de datos va a crecer hasta comerse todo el espacio en disco de tu servidor. Si querés profundizar en esto, mirá esta guía para optimizar los recursos de tu VPS.
Paso 4: Armar el archivo docker-compose.yml
Es hora de definir cómo va a correr nuestro contenedor. Creamos el archivo:
sudo nano docker-compose.yml
Pegá esto adentro:
version: '3.8'
services:
n8n:
image: docker.n8n.io/n8nio/n8n:latest
container_name: n8n_app
restart: always
ports:
- "127.0.0.1:5678:5678"
env_file:
- .env
volumes:
- /opt/n8n/data:/home/node/.n8n
(Fijate que mapeamos el puerto como 127.0.0.1:5678:5678. Esto es por seguridad: hace que n8n solo sea accesible internamente. Nadie va a poder entrar desde afuera usando directamente tu dirección IP pública sin pasar por el proxy que configuraremos ahora).
Ya podemos darle vida al contenedor:
sudo docker-compose up -d
3. Configuración de Nginx y SSL (Tu conexión segura)
Para que n8n reciba Webhooks de forma segura y puedas entrar al panel sin que el navegador te grite que el sitio es peligroso, necesitamos un certificado SSL gratuito de Let’s Encrypt y un proxy inverso con Nginx.
Paso 1: Instalar las herramientas
sudo apt install nginx certbot python3-certbot-nginx -y
Paso 2: Crear el archivo de configuración para Nginx
Creamos un bloque de servidor para decirle a Nginx cómo redirigir el tráfico:
sudo nano /etc/nginx/sites-available/n8n
Copia y pega la siguiente configuración (no te olvides de reemplazar n8n.tu-dominio.com con tu subdominio):
server {
listen 80;
server_name n8n.tu-dominio.com;
location / {
proxy_pass http://127.0.0.1:5678;
proxy_set_header Connection '';
proxy_http_version 1.1;
chunked_transfer_encoding off;
proxy_buffering off;
proxy_cache off;
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;
# Soporte para WebSockets (Esto es vital para que la interfaz de n8n no se desconecte)
proxy_set_header Upgrade $http_upgrade;
proxy_set_header Connection "Upgrade";
}
}
Activamos la configuración y reiniciamos el servicio:
sudo ln -s /etc/nginx/sites-available/n8n /etc/nginx/sites-enabled/
sudo nginx -t
sudo systemctl restart nginx
Paso 3: Generar el certificado SSL gratis
Le pedimos a Certbot que se encargue de todo el papeleo del SSL por nosotros:
sudo certbot --nginx -d n8n.tu-dominio.com
Seguí los pasos en la pantalla (te va a pedir un mail y que aceptes los términos). Certbot va a reescribir tu archivo de Nginx automáticamente para forzar que todo vaya siempre por HTTPS.
4. Primeros pasos y mejores prácticas de seguridad
¡Excelente! Si ahora entrás en https://n8n.tu-dominio.com, vas a ver la pantalla de creación del usuario administrador para configurar tu cuenta.
[Image of Panel de configuración inicial de n8n con SSL activo]
Antes de empezar a tirar cables virtuales como loco, te recomiendo tener en cuenta esto:
- Activá el doble factor (2FA) al toque: Recordá que tu instancia de n8n va a guardar tokens de acceso a tus herramientas de email, CRMs, Slack, etc. Si alguien entra ahí, tiene las llaves de tu negocio. Cuidalo.
- Vigilá el consumo de RAM: Si creás flujos gigantes con loops interminables, entrá de vez en cuando a tu panel de control de LatinCloud para chequear que el consumo de recursos de tu VPS esté bajo control.
- Hacé una prueba rápida de velocidad: Creá un flujo simple con un trigger de Webhook y un nodo que te mande un mensaje a Telegram o Discord. Vas a ver que la respuesta de tu VPS local es prácticamente instantánea. Nada que ver con servidores saturados del otro lado del mapa.
Poné tus automatizaciones en piloto automático hoy
Configurar n8n por tu cuenta te da la libertad que necesitás, pero entendemos perfectamente que tu tiempo vale oro y querés que todo funcione a la primera.
Si querés saltearte la terminal, las IPs y las consolas de comando para empezar a crear flujos estables con soporte en tu idioma:
Probá un VPS LatinCloud con soporte local y la potencia que tus automatizaciones necesitan para escalar sin límites.