🇺🇸 Welcome from the USA! We have special plans for you.
View US Hosting Plans →

Instalar n8n en tu VPS con Docker

📅 07/07/2026 ⏱ 8 min de lectura
PlatiniumHost

Escrito por

Luis Contreras · CEO & Fundador · +24 años en hosting

¿Por qué instalar n8n en tu VPS?

n8n es una herramienta de automatización de flujos de trabajo (workflows) de código abierto: conecta APIs, bases de datos y servicios sin escribir código para tareas repetitivas. Instalarlo en tu propio VPS de PlatiniumHost te da control total de tus datos, sin límites de ejecuciones y sin la mensualidad de n8n Cloud. Este tutorial usa Docker, el método que n8n recomienda para producción.

  • Un VPS activo de PlatiniumHost con acceso root por SSH
  • Un dominio o subdominio apuntando a la IP de tu VPS (ej: n8n.tudominio.com)
  • 10-15 minutos

Paso 1 — Conecta por SSH y actualiza el sistema

Conéctate a tu VPS y asegúrate de tener los paquetes al día:

ssh root@tu-ip-vps
apt update && apt upgrade -y

Paso 2 — Instala Docker y Docker Compose

La forma más rápida en Ubuntu/Debian es el script oficial de Docker:

curl -fsSL https://get.docker.com | sh

Desde Docker v20.10, Docker Compose ya viene incluido como plugin (docker compose, sin guion). Verifica ambas instalaciones:

docker --version
docker compose version

Paso 3 — Crea el directorio del proyecto

  1. Crea una carpeta para n8n y entra en ella
  2. Crea un archivo .env con tus datos
mkdir -p /opt/n8n && cd /opt/n8n

cat > .env << 'ENVEOF'
DOMAIN_NAME=tudominio.com
SUBDOMAIN=n8n
GENERIC_TIMEZONE=America/Caracas
SSL_EMAIL=tu-email@tudominio.com
ENVEOF

Ajusta DOMAIN_NAME, SUBDOMAIN y SSL_EMAIL a tus datos reales.

Paso 4 — Crea el archivo docker-compose.yml

Este archivo levanta dos contenedores: n8n y Traefik (proxy que gestiona el certificado SSL automáticamente vía Let's Encrypt). Guárdalo como docker-compose.yml dentro de /opt/n8n:

services:
  traefik:
    image: traefik:v3.1
    restart: always
    command:
      - --providers.docker=true
      - --providers.docker.exposedbydefault=false
      - --entrypoints.web.address=:80
      - --entrypoints.websecure.address=:443
      - --certificatesresolvers.mytlschallenge.acme.tlschallenge=true
      - --certificatesresolvers.mytlschallenge.acme.email=${SSL_EMAIL}
      - --certificatesresolvers.mytlschallenge.acme.storage=/letsencrypt/acme.json
    ports:
      - "80:80"
      - "443:443"
    volumes:
      - traefik_data:/letsencrypt
      - /var/run/docker.sock:/var/run/docker.sock:ro

  n8n:
    image: docker.n8n.io/n8nio/n8n
    restart: always
    environment:
      - N8N_HOST=${SUBDOMAIN}.${DOMAIN_NAME}
      - N8N_PORT=5678
      - N8N_PROTOCOL=https
      - NODE_ENV=production
      - WEBHOOK_URL=https://${SUBDOMAIN}.${DOMAIN_NAME}/
      - GENERIC_TIMEZONE=${GENERIC_TIMEZONE}
    labels:
      - traefik.enable=true
      - traefik.http.routers.n8n.rule=Host(`${SUBDOMAIN}.${DOMAIN_NAME}`)
      - traefik.http.routers.n8n.tls=true
      - traefik.http.routers.n8n.tls.certresolver=mytlschallenge
      - traefik.http.routers.n8n.entrypoints=web,websecure
    volumes:
      - n8n_data:/home/node/.n8n

volumes:
  traefik_data:
  n8n_data:

Paso 5 — Levanta los contenedores

docker compose up -d
docker compose ps

Docker descargará las imágenes (1-2 minutos la primera vez). Ambos servicios deben mostrar estado Up.

Paso 6 — Accede a n8n

Abre https://n8n.tudominio.com (tu subdominio real) en el navegador. Traefik emite el certificado SSL automáticamente en el primer arranque — puede tardar 1-2 minutos. Verás el asistente de configuración de n8n: crea tu cuenta de administrador y listo.

✅ ¡Listo! Tu n8n ya está corriendo en tu VPS con HTTPS. Los datos y workflows quedan guardados en el volumen n8n_data, así que sobreviven a reinicios y actualizaciones del contenedor. Revisa también Cómo instalar Claude Code en tu VPS.

Recomendaciones para producción

  • Base de datos: por defecto n8n usa SQLite. Para cargas de trabajo serias, migra a PostgreSQL agregando un servicio postgres al docker-compose.yml.
  • Backups: respalda periódicamente el volumen n8n_data — ahí vive toda tu configuración, credenciales y workflows.
  • Actualizar n8n: docker compose pull && docker compose up -d descarga la última versión y reinicia sin perder datos.
  • Seguridad: activa la gestión de usuarios de n8n (N8N_USER_MANAGEMENT_DISABLED=false) si más de una persona va a usar la instancia.

💬 ¿En qué podemos ayudarte?

Selecciona un agente de soporte

¿Hablamos?