Cómo instalar n8n en un VPS Ubuntu es una de las búsquedas más frecuentes entre quienes quieren automatizar tareas sin depender de planes de pago. Si llegaste hasta acá, es porque querés tener el control total de tus automatizaciones sin pagar una suscripción mensual. En esta guía completa te explico cómo instalar n8n en un VPS Ubuntu desde cero, paso a paso, incluyendo Docker, Nginx y certificado SSL. Al final vas a tener tu propia instancia de n8n funcionando en menos de 30 minutos.
¿Por qué instalar n8n en un VPS Ubuntu propio?
La versión cloud de n8n tiene límites en el número de ejecuciones y flujos activos. Con un VPS para n8n propio podés:
- Ejecutar flujos sin límites de ejecuciones
- Mantener tus datos en tu propio servidor, con total privacidad
- Pagar solo el costo del VPS (desde 4-5 USD/mes)
- Personalizar la configuración al máximo según tus necesidades
- Integrar con cualquier API sin restricciones de plan
En resumen, instalar n8n en un VPS Ubuntu te da libertad total y un ahorro significativo a largo plazo comparado con la versión cloud.
Requisitos previos para instalar n8n en un VPS Ubuntu
Antes de comenzar con la instalación, asegurate de tener lo siguiente:
- Un VPS con Ubuntu 20.04 o superior (mínimo 1 CPU, 1 GB RAM)
- Acceso SSH como root o usuario con permisos sudo
- Un dominio apuntando a la IP del VPS (registro A configurado)
- Conocimientos básicos de terminal Linux
Los proveedores más populares para alojar n8n son DigitalOcean, Hetzner y Contabo. Hetzner ofrece VPS desde 4€/mes con excelente rendimiento, lo que lo convierte en una opción ideal como VPS para n8n.
Paso 1: Actualizar el sistema del VPS Ubuntu
Lo primero que tenés que hacer es conectarte a tu VPS por SSH y actualizar todos los paquetes del sistema:
apt update && apt upgrade -yEste paso es fundamental para evitar problemas de compatibilidad y vulnerabilidades de seguridad durante la instalación de n8n.
Paso 2: Instalar Docker y Docker Compose en Ubuntu
n8n funciona perfectamente con Docker, y es la forma más sencilla de instalar n8n en un VPS Ubuntu. Instalá Docker con el script oficial:
curl -fsSL https://get.docker.com | sh
apt install docker-compose-plugin -yVerificá que la instalación fue correcta con estos comandos:
docker --version
docker compose versionSi ambos comandos muestran una versión, estás listo para continuar. Si tenés algún error, asegurate de que tu usuario tenga permisos sudo.
Paso 3: Crear el archivo docker-compose.yml para n8n
Ahora vamos a crear la carpeta del proyecto y el archivo de configuración de Docker Compose:
mkdir /opt/n8n && cd /opt/n8n
nano docker-compose.ymlPegá esta configuración en el archivo:
version: "3"
services:
n8n:
image: n8nio/n8n
restart: always
ports:
- "5678:5678"
environment:
- N8N_HOST=tudominio.com
- N8N_PORT=5678
- N8N_PROTOCOL=https
- NODE_ENV=production
- WEBHOOK_URL=https://tudominio.com/
- GENERIC_TIMEZONE=America/Mexico_City
volumes:
- n8n_data:/home/node/.n8n
volumes:
n8n_data:Importante: sustituí tudominio.com por tu dominio real y ajustá la zona horaria (GENERIC_TIMEZONE) según tu ubicación. Algunos ejemplos: America/Bogota, America/Buenos_Aires, America/Lima.
Paso 4: Instalar Nginx como proxy inverso para n8n
Nginx se encarga de redirigir el tráfico HTTPS hacia n8n de forma segura. Instalalo con:
apt install nginx -yCreá el archivo de configuración de Nginx para n8n:
nano /etc/nginx/sites-available/n8nPegá la siguiente configuración:
server {
listen 80;
server_name tudominio.com;
location / {
proxy_pass http://localhost:5678;
proxy_set_header Host $host;
proxy_set_header X-Real-IP $remote_addr;
proxy_http_version 1.1;
proxy_set_header Upgrade $http_upgrade;
proxy_set_header Connection "upgrade";
}
}Activá el sitio y reiniciá Nginx:
ln -s /etc/nginx/sites-available/n8n /etc/nginx/sites-enabled/
nginx -t && systemctl reload nginxSi nginx -t muestra «syntax is ok», todo está correcto. Si hay algún error, revisá que no tengas otro sitio usando el mismo puerto.

Paso 5: Configurar SSL con Certbot para n8n
El certificado SSL gratuito de Let’s Encrypt es imprescindible para instalar n8n en un VPS Ubuntu de forma segura. Sin HTTPS, los webhooks y credenciales viajan sin cifrar.
apt install certbot python3-certbot-nginx -y
certbot --nginx -d tudominio.comSeguí las instrucciones del asistente. Certbot configura automáticamente Nginx para HTTPS y renueva el certificado cada 90 días. Podés verificar la renovación automática con:
certbot renew --dry-runPaso 6: Arrancar n8n en el VPS Ubuntu
Con todo configurado, es hora de arrancar n8n:
cd /opt/n8n
docker compose up -dComprobá que está corriendo correctamente:
docker compose ps
docker compose logs -fAccedé a https://tudominio.com en tu navegador. Vas a ver el asistente de configuración de n8n para crear tu cuenta de administrador. ¡Felicitaciones, ya tenés n8n funcionando!
Cómo configurar el firewall del VPS para n8n
Un paso que muchos se saltan pero es crítico para la seguridad. Configurá ufw para permitir solo los puertos necesarios:
ufw allow 22/tcp
ufw allow 80/tcp
ufw allow 443/tcp
ufw enable
ufw statusEsto asegura que solo SSH, HTTP y HTTPS estén abiertos. El puerto 5678 de n8n queda protegido detrás de Nginx.
Consejos para usar n8n en producción en tu VPS
Una vez que instalaste n8n en tu VPS Ubuntu, tené en cuenta estos puntos para mantenerlo funcionando de forma estable:
- Backups automáticos: programá copias del volumen
n8n_datadiariamente. Podés usar un cron job contaro la herramienta de snapshots de tu proveedor de VPS. - Actualizaciones regulares: usá
docker compose pull && docker compose up -dpara actualizar n8n a la última versión. - Monitorización: configurá UptimeRobot (gratis) para recibir alertas si n8n deja de funcionar.
- Recursos del servidor: si tus flujos consumen mucha memoria, considerá aumentar la RAM del VPS a 2 GB.
- Base de datos externa: para proyectos grandes, configurá PostgreSQL en lugar de SQLite (que viene por defecto).
Errores comunes al instalar n8n en un VPS Ubuntu
Estos son los problemas más frecuentes que aparecen durante la instalación y cómo resolverlos:
| Error | Causa probable | Solución |
|---|---|---|
| 502 Bad Gateway | n8n no está corriendo | Ejecutá docker compose up -d y revisá los logs |
| ERR_CONNECTION_REFUSED | Firewall bloqueando puertos | Verificá que los puertos 80 y 443 estén abiertos con ufw status |
| SSL certificate error | Dominio no apunta al VPS | Revisá el registro A de tu dominio en el panel DNS |
| Webhook no funciona | WEBHOOK_URL mal configurada | Asegurate de que WEBHOOK_URL tenga https:// y tu dominio correcto |
| Container reinicia constantemente | Falta de memoria RAM | Aumentá la RAM del VPS o agregá swap con fallocate |

¿Cuánto cuesta mantener n8n en un VPS Ubuntu?
Uno de los mayores beneficios de instalar n8n en un VPS Ubuntu es el ahorro. Veamos una comparación:
- n8n Cloud (plan Starter): desde 20 USD/mes con límites de ejecuciones
- n8n en VPS propio: desde 4-6 USD/mes sin ningún límite
Si usás n8n para automatizar procesos de negocio o proyectos personales, el VPS se paga solo en el primer mes. La diferencia se hace todavía más grande cuando necesitás más ejecuciones o múltiples flujos activos.
Cómo instalar n8n en un VPS Ubuntu con PostgreSQL (opcional)
Si vas a manejar muchos flujos o datos, te conviene usar PostgreSQL en lugar de SQLite. Modificá tu docker-compose.yml así:
version: "3"
services:
postgres:
image: postgres:15
restart: always
environment:
- POSTGRES_DB=n8n
- POSTGRES_USER=n8n
- POSTGRES_PASSWORD=tu_password_seguro
volumes:
- postgres_data:/var/lib/postgresql/data
n8n:
image: n8nio/n8n
restart: always
ports:
- "5678:5678"
environment:
- N8N_HOST=tudominio.com
- N8N_PORT=5678
- N8N_PROTOCOL=https
- NODE_ENV=production
- WEBHOOK_URL=https://tudominio.com/
- GENERIC_TIMEZONE=America/Mexico_City
- DB_TYPE=postgresdb
- DB_POSTGRESDB_HOST=postgres
- DB_POSTGRESDB_PORT=5432
- DB_POSTGRESDB_DATABASE=n8n
- DB_POSTGRESDB_USER=n8n
- DB_POSTGRESDB_PASSWORD=tu_password_seguro
volumes:
- n8n_data:/home/node/.n8n
depends_on:
- postgres
volumes:
n8n_data:
postgres_data:Con esta configuración, n8n almacena todo en PostgreSQL, lo que mejora el rendimiento y la confiabilidad cuando tenés muchos flujos activos.

Preguntas frecuentes sobre cómo instalar n8n en un VPS Ubuntu
Para instalar n8n en un VPS Ubuntu necesitás como mínimo 1 CPU y 1 GB de RAM. Proveedores como Hetzner, DigitalOcean o Contabo ofrecen VPS desde 4-6 USD/mes que funcionan perfectamente para n8n. Si vas a ejecutar muchos flujos simultáneos, te conviene 2 GB de RAM.
Sí, siempre y cuando configures SSL con Certbot, uses un firewall (ufw) y mantengas el sistema actualizado. De hecho, tener tu propia instancia te da más control sobre la seguridad de tus datos que la versión cloud.
Sí, podés instalar n8n directamente con npm (npm install n8n -g), pero Docker simplifica mucho la instalación, las actualizaciones y los backups. La guía con Docker es el método recomendado por la comunidad y la documentación oficial de n8n.
Siguiendo esta guía paso a paso, el proceso completo de instalar n8n en un VPS Ubuntu toma entre 15 y 30 minutos, dependiendo de tu experiencia con la terminal. La mayor parte del tiempo se va en la descarga de Docker y la imagen de n8n.
Para actualizar n8n, simplemente ejecutá cd /opt/n8n && docker compose pull && docker compose up -d. Esto descarga la última imagen de n8n y reinicia el contenedor sin perder tus flujos ni configuraciones.
¿Vale la pena? Nuestra opinión
Instalar n8n en un VPS Ubuntu te da libertad total para automatizar sin límites y a un costo mínimo. Como viste en esta guía, el proceso completo lleva menos de 30 minutos y el costo mensual es significativamente menor comparado con la versión cloud. Tenés Docker manejando n8n, Nginx como proxy inverso, SSL gratuito con Certbot y un firewall protegiendo tu servidor.
Si tenés algún problema durante la instalación, revisá los logs con docker compose logs -f y consultá la documentación oficial de n8n. Y si esta guía te resultó útil, compartila con alguien que esté buscando cómo montar su propia instancia de n8n. ¡Éxitos con tus automatizaciones!