Para instalar n8n en un VPS Linux necesitas cuatro cosas: un servidor con al menos 2 GB de RAM, Docker con Docker Compose, un dominio apuntando a la IP del VPS y unos 30 minutos frente a la terminal. En esta guía te mostramos cómo instalar n8n en un VPS Linux paso a paso, con PostgreSQL como base de datos, Nginx como reverse proxy y certificado SSL gratuito de Let’s Encrypt. Al terminar vas a tener tu propia instancia de n8n self hosted corriendo en producción, sin límites de ejecuciones y sin pagar suscripción mensual por cada workflow.

En pocas palabras. n8n es una plataforma de automatización de código abierto que puedes alojar en tu propio servidor. Instalar n8n en un VPS Linux con Docker toma menos de una hora, cuesta lo que cuesta el VPS y elimina los límites de ejecuciones de n8n Cloud. Requisito mínimo real: 2 GB de RAM. Para workflows con nodos de inteligencia artificial, 4 GB.

Qué es n8n y por qué conviene instalarlo en tu propio VPS

n8n es una herramienta de automatización de workflows con licencia fair-code. Conecta más de 400 aplicaciones (Gmail, Slack, WhatsApp, Google Sheets, bases de datos, APIs REST) mediante un editor visual de nodos. La comparación obvia es con Zapier o Make, con una diferencia de fondo: n8n puede autoalojarse. Eso significa que el software corre en tu servidor, tus datos nunca salen de tu infraestructura y no existe un contador de ejecuciones que te cobre más a fin de mes.

n8n Cloud, la versión oficial hospedada, cobra por plan según ejecuciones y workflows activos. Funciona bien para probar la herramienta. El problema aparece cuando las automatizaciones se vuelven parte de la operación diaria de tu negocio: un chatbot que responde clientes, un flujo que sincroniza tu CRM con facturación, un monitor que revisa tus servicios cada minuto. Ahí el contador de ejecuciones se dispara y la factura también.

Con n8n self hosted en un VPS el costo es fijo. Pagas el servidor y nada más. Workflows ilimitados, ejecuciones ilimitadas, acceso a todos los nodos de la comunidad y control total sobre dónde viven tus credenciales y tus datos. Para empresas en México, Colombia, Venezuela, Perú, Chile, Ecuador, Argentina o Uruguay que manejan información de clientes, ese último punto no es menor: hay datos que no deberían pasar por la nube de un tercero.

Un detalle que casi ningún tutorial menciona. Muchas guías en español te mandan a contratar proveedores europeos. El ping desde Bogotá o Ciudad de México hacia un datacenter en Alemania ronda los 120 a 160 ms. Hacia un datacenter en Estados Unidos baja a 40 u 80 ms. Si tus workflows disparan webhooks en tiempo real (un bot de WhatsApp, por ejemplo), esa diferencia se siente en cada respuesta. Los VPS Linux de x5 servers corren en datacenters Tier III en Estados Unidos, justo en el punto medio de latencia para toda Latinoamérica. Con el porqué resuelto, vamos a lo práctico: cómo instalar n8n en un VPS Linux desde cero.

Requisitos para instalar n8n en un VPS Linux

Para instalar n8n en un VPS Linux la respuesta corta es esta: 2 GB de RAM, 1 o 2 vCPU y 20 GB de disco alcanzan para empezar. La respuesta completa depende de cuántos workflows vas a correr y de si piensas conectar modelos de inteligencia artificial. Esta tabla resume el dimensionamiento según el uso real:

Escenario de uso RAM vCPU Disco Producto recomendado
Pruebas y workflows personales 2 GB 1 20 GB VPS Linux
Producción con 10 a 30 workflows activos 4 GB 2 40 GB VPS Linux
Workflows con nodos de IA o alto volumen de webhooks 8 GB 4 80 GB VPS Linux escalado
Agencia que opera automatizaciones para varios clientes 16 GB o más 8 o más NVMe dedicado Servidor Dedicado Linux

Además del hardware necesitas un dominio o subdominio (algo como automatizaciones.tuempresa.com) con un registro A apuntando a la IP del VPS, y acceso SSH con usuario root o sudo. Sobre el sistema operativo: Ubuntu 24.04 LTS es la opción con más documentación, aunque n8n corre igual de bien sobre AlmaLinux o Debian 12 porque todo va dentro de Docker. Si trabajas con AlmaLinux, los comandos de firewall cambian de ufw a firewalld, el resto del proceso es idéntico.

Paso 1. Preparar el servidor VPS

El primer paso para instalar n8n en un VPS Linux es preparar el terreno. Conéctate a tu VPS por SSH y actualiza el sistema para aplicar los parches de seguridad pendientes antes de instalar nada encima:

ssh root@IP-DE-TU-VPS
apt update && apt upgrade -y

Después configura el firewall. La regla de oro con n8n es simple: el puerto 5678 (donde escucha n8n) nunca se expone a internet. Solo abrimos SSH, HTTP y HTTPS, y dejamos que Nginx haga de intermediario:

ufw allow OpenSSH
ufw allow 80/tcp
ufw allow 443/tcp
ufw enable
ufw status

Este paso se lo saltan muchos tutoriales y es el que separa una instancia segura de una instancia que aparece en Shodan a la semana. Tu panel de n8n va a contener credenciales de todas las aplicaciones que conectes. Trátalo como lo que es, la llave maestra de tu operación.

Paso 2. Instalar Docker y Docker Compose

Docker es el método que recomienda la documentación oficial de n8n para instalar n8n en un VPS Linux, y con razón: aísla la aplicación, simplifica las actualizaciones y hace los backups predecibles. Instálalo con el script oficial:

curl -fsSL https://get.docker.com | sh
apt install docker-compose-plugin -y
docker --version
docker compose version

Si los dos últimos comandos devuelven un número de versión, listo. Puedes instalar n8n directamente con npm sobre Node.js, pero cada actualización y cada backup se vuelven trabajo manual. No vale la pena en 2026.

Paso 3. Crear el docker-compose.yml con PostgreSQL

Aquí está la decisión técnica más importante de toda la guía. n8n usa SQLite por defecto, y SQLite funciona para jugar. Para producción necesitas PostgreSQL: escala mejor, soporta ejecuciones concurrentes sin bloquearse y permite backups consistentes con pg_dump. Instalarlo desde el día uno te ahorra una migración dolorosa después.

Crea el directorio del proyecto y el archivo de configuración:

mkdir -p /opt/n8n && cd /opt/n8n
nano docker-compose.yml

Pega este contenido, reemplazando el dominio, la zona horaria y las dos contraseñas por valores propios:

services:
  postgres:
    image: postgres:16
    restart: always
    environment:
      POSTGRES_DB: n8n
      POSTGRES_USER: n8n
      POSTGRES_PASSWORD: TuPasswordPostgresSegura
    volumes:
      - postgres_data:/var/lib/postgresql/data
    healthcheck:
      test: ["CMD-SHELL", "pg_isready -U n8n"]
      interval: 10s
      timeout: 5s
      retries: 5

  n8n:
    image: docker.n8n.io/n8nio/n8n
    restart: always
    ports:
      - "127.0.0.1:5678:5678"
    environment:
      - DB_TYPE=postgresdb
      - DB_POSTGRESDB_HOST=postgres
      - DB_POSTGRESDB_PORT=5432
      - DB_POSTGRESDB_DATABASE=n8n
      - DB_POSTGRESDB_USER=n8n
      - DB_POSTGRESDB_PASSWORD=TuPasswordPostgresSegura
      - N8N_HOST=automatizaciones.tuempresa.com
      - N8N_PROTOCOL=https
      - WEBHOOK_URL=https://automatizaciones.tuempresa.com/
      - N8N_ENCRYPTION_KEY=UnaClaveAleatoriaDe32CaracteresMin
      - GENERIC_TIMEZONE=America/Mexico_City
      - TZ=America/Mexico_City
    volumes:
      - n8n_data:/home/node/.n8n
    depends_on:
      postgres:
        condition: service_healthy

volumes:
  postgres_data:
  n8n_data:

Tres detalles de este archivo que importan de verdad. Primero, el puerto está atado a 127.0.0.1, así que n8n solo escucha en el propio servidor y nadie puede acceder directo desde afuera. Segundo, N8N_ENCRYPTION_KEY cifra todas las credenciales que guardes en n8n; genera una clave aleatoria con openssl rand -hex 16 y guárdala en un lugar seguro, porque sin ella no recuperas tus credenciales ni con backup. Tercero, WEBHOOK_URL con tu dominio real es obligatorio si vas a recibir webhooks, que es el caso de casi cualquier automatización útil.

Levanta los contenedores:

docker compose up -d
docker compose ps

Ambos servicios deben aparecer en estado running. n8n ya está vivo, solo que todavía nadie puede verlo desde internet. Eso lo resuelve el siguiente paso.

Paso 4. Configurar Nginx como reverse proxy

Nginx recibe el tráfico en los puertos 80 y 443 y lo pasa al puerto interno 5678. Instálalo y crea la configuración del sitio:

apt install nginx -y
nano /etc/nginx/sites-available/n8n

Contenido del archivo (de nuevo, con tu dominio):

server {
    listen 80;
    server_name automatizaciones.tuempresa.com;

    location / {
        proxy_pass http://127.0.0.1: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;
        proxy_read_timeout 300s;
    }
}

Las cabeceras Upgrade y Connection no son decorativas: n8n usa websockets para actualizar el editor en tiempo real, y sin ellas el panel carga pero se comporta raro. Activa el sitio y recarga Nginx:

ln -s /etc/nginx/sites-available/n8n /etc/nginx/sites-enabled/
nginx -t && systemctl reload nginx

Paso 5. Activar SSL con Let’s Encrypt

Certbot emite el certificado gratuito de Let’s Encrypt, reescribe la configuración de Nginx para forzar HTTPS y programa la renovación automática. Todo en dos comandos:

apt install certbot python3-certbot-nginx -y
certbot --nginx -d automatizaciones.tuempresa.com

Cuando termine, abre https://automatizaciones.tuempresa.com en el navegador. Vas a ver la pantalla de registro de n8n para crear la cuenta de administrador. Con eso terminaste de instalar n8n en un VPS Linux y ya puedes construir tu primer workflow. Como capa extra de seguridad, activa la autenticación de dos factores desde Settings dentro del panel.

Cómo actualizar n8n y respaldar tus datos

Instalar n8n en un VPS Linux es la mitad del trabajo; la otra mitad es mantenerlo al día. n8n publica versiones nuevas casi cada semana sobre la rama estable 2.x, y actualizar tu instancia toma dos comandos con un par de minutos de corte:

cd /opt/n8n
docker compose pull && docker compose up -d

Para los backups, respalda las dos piezas que importan: la base de datos PostgreSQL (workflows, ejecuciones, configuración) y el volumen de n8n (donde vive la clave de cifrado). Este cron lo hace todas las noches a las 3 AM:

mkdir -p /opt/backups
crontab -e
# Agregar esta linea:
0 3 * * * docker exec n8n-postgres-1 pg_dump -U n8n n8n > /opt/backups/n8n_$(date +\%Y\%m\%d).sql

Un consejo de quien administra servidores todos los días: prueba la restauración al menos una vez. Un backup que nunca se restauró es una hipótesis, no un respaldo.

Cuándo conviene pasar del VPS a un servidor dedicado

Instalar n8n en un VPS Linux de 4 GB aguanta más de lo que la gente cree. El salto a hardware dedicado tiene sentido en tres escenarios concretos. Cuando corres n8n en modo colas con workers separados y una base PostgreSQL que ya pide sus propios recursos. Cuando eres una agencia que opera automatizaciones para varios clientes y necesitas aislar cargas. O cuando le colgaste modelos de IA a los workflows y la RAM se convirtió en el cuello de botella permanente. Para esos casos, un servidor dedicado Linux con NVMe te da CPU y memoria sin vecinos, al costo fijo que ya conoces.

Y una aclaración honesta que preferimos hacer antes de que contrates, no después. Los VPS y dedicados Linux de X5 Servers son no administrados: tú instalas y mantienes n8n siguiendo esta guía, nosotros garantizamos que el servidor, la red y el hardware respondan. Si prefieres delegar la instalación, el hardening o el mantenimiento del sistema operativo, ese trabajo existe como servicio aparte en administración de servidores, con tareas puntuales cotizadas por ticket. Sin sorpresas ni letra chica.

Monta tu n8n self hosted sobre infraestructura en Estados Unidos

VPS Linux con NVMe, datacenters Tier III y baja latencia hacia toda Latinoamérica. Pagas en USD con PayPal, tarjeta o USDT.

Ver planes de VPS Linux

Preguntas frecuentes sobre instalar n8n en un VPS

¿Cuánta RAM necesita n8n en un VPS?

Para instalar n8n en un VPS Linux el mínimo funcional real es 2 GB de RAM en uso personal o pruebas. Para producción con varios workflows activos, 4 GB. Si conectas nodos de inteligencia artificial o procesas volúmenes altos de webhooks, considera 8 GB. n8n corre sobre Node.js y cada workflow activo consume memoria de forma constante.

¿Puedo instalar n8n gratis en mi propio servidor?

Sí. n8n tiene licencia fair-code y el self hosting no cuesta nada en licenciamiento. Tu único gasto es el VPS donde lo instalas. Obtienes workflows y ejecuciones ilimitadas, algo que en n8n Cloud está limitado por plan.

¿Qué es mejor, n8n Cloud o n8n self hosted?

n8n Cloud es más cómodo para empezar porque no administras nada. n8n self hosted gana en costo fijo, privacidad de datos y ausencia de límites cuando las automatizaciones se vuelven parte de tu operación. La regla práctica: si tus workflows corren todos los días y manejan datos de clientes, self hosted en un VPS sale más barato y te da control total.

¿Necesito Docker para instalar n8n en un VPS Linux?

No es obligatorio, pero sí lo recomendado. Puedes instalar n8n con npm sobre Node.js directamente, aunque las actualizaciones, los permisos y los backups se complican. Con Docker y Docker Compose, instalar n8n en un VPS Linux y todo su ciclo posterior (actualizar, respaldar, migrar) queda resuelto con comandos estándar.

¿Qué versión de n8n conviene instalar en 2026?

La rama estable 2.x, que es la que descarga la imagen oficial docker.n8n.io/n8nio/n8n por defecto. n8n publica versiones menores casi cada semana, por eso conviene programar una rutina mensual de actualización con docker compose pull.

¿Puedo instalar n8n en AlmaLinux o solo en Ubuntu?

Puedes instalar n8n en un VPS Linux con AlmaLinux, Debian o Ubuntu sin diferencia práctica, porque n8n corre dentro de Docker y el contenedor es el mismo en cualquier distribución. Lo único que cambia son los comandos del firewall del host: ufw en Ubuntu y Debian, firewalld en AlmaLinux.

¿Cómo protejo mi instancia de n8n en un VPS?

Cuatro medidas cubren lo esencial: HTTPS con certificado de Let’s Encrypt, firewall que solo exponga los puertos 22, 80 y 443, el puerto 5678 atado a 127.0.0.1 para que solo Nginx lo alcance, y autenticación de dos factores activada en el panel. Con eso tu instancia queda fuera del alcance de los escaneos automáticos.

¿El VPS de X5 Servers viene con n8n preinstalado?

No, y es a propósito. Entregamos el VPS Linux limpio, con la distribución que elijas, para que instales n8n a tu manera y sin plantillas que te aten a configuraciones de otro. Esta guía cubre el proceso completo. Si prefieres que un técnico haga la instalación o el mantenimiento, el servicio de administración de servidores lo cotiza como tarea puntual por ticket.

¿Cuántos workflows soporta un VPS de 2 GB?

Depende de la complejidad, pero como referencia práctica: entre 5 y 15 workflows activos con ejecuciones moderadas funcionan sin problema en 2 GB. La señal para escalar es el uso de swap. Si el comando free -h muestra swap en uso constante, es hora de subir a 4 GB.

Cómo instalar n8n en un VPS Linux en 6 pasos

Este es el resumen ejecutable de toda la guía para dejar tus automatizaciones corriendo hoy:

  1. Contrata un VPS Linux con 2 GB de RAM o más y elige Ubuntu 24.04 o AlmaLinux para instalar n8n en un VPS Linux limpio, sin plantillas.
  2. Apunta un subdominio a la IP del servidor con un registro A.
  3. Sigue los pasos 1 a 5 de esta guía: firewall, Docker, docker-compose.yml con PostgreSQL, Nginx y SSL.
  4. Genera tu N8N_ENCRYPTION_KEY, guárdala fuera del servidor y activa la autenticación de dos factores.
  5. Programa el cron de backups y prueba una restauración.
  6. Construye tu primer workflow y deja que corra solo. Para eso lo montaste.

Si tienes dudas sobre qué plan dimensionar antes de instalar n8n en un VPS Linux para tus automatizaciones, escríbenos por el formulario de contacto y te orientamos sin compromiso.

como instalar n8n en un vps linux

Ver tambien