OffshoreVps
Tutoriales4 oct 20267 min de lecturaPor el equipo de OffshoreVps

Despliega n8n y agentes de IA con Docker Compose en un VPS

Autoaloja n8n con Postgres y HTTPS, crea un flujo de trabajo con un agente de IA, protege los webhooks y haz copia de seguridad de los datos y de la clave de cifrado.

n8n es una herramienta de flujos de trabajo que conecta aplicaciones, API y modelos de IA con un editor visual. Autoalojarlo significa que tus flujos, credenciales y datos se quedan en un servidor que controlas, y las ejecuciones no se miden. Esta guía despliega n8n con Docker Compose, una base de datos Postgres y HTTPS, listo para ejecutar agentes de IA las 24 horas.

Ventana de terminal en un VPS que muestra los comandos usados para desplegar n8n y agentes de IA, empezando por “mkdir -p ~/n8n && cd ~/n8n”
El tipo de comandos que ejecutarás en tu servidor en esta guía.

¿Por qué un VPS para agentes?

Los agentes suelen ejecutarse según una programación o reaccionar a webhooks, por lo que necesitan un servidor siempre encendido y accesible. Un VPS te da una dirección fija para los webhooks y suficiente RAM para que los flujos respondan con agilidad. Un plan de 2 vCPU y 4 GB sirve para una configuración pequeña. Consulta el hosting para agentes de IA para ver tamaños, y añade un servidor GPU si quieres modelos locales.

Antes de empezar

Paso 1: archivo Compose

mkdir -p ~/n8n && cd ~/n8n
cat > compose.yaml <<'YAML'
services:
  db:
    image: postgres:16
    restart: unless-stopped
    environment:
      POSTGRES_USER: n8n
      POSTGRES_PASSWORD: ${DB_PASSWORD}
      POSTGRES_DB: n8n
    volumes:
      - db:/var/lib/postgresql/data

  n8n:
    image: n8nio/n8n:latest
    restart: unless-stopped
    depends_on: [db]
    environment:
      DB_TYPE: postgresdb
      DB_POSTGRESDB_HOST: db
      DB_POSTGRESDB_USER: n8n
      DB_POSTGRESDB_PASSWORD: ${DB_PASSWORD}
      N8N_HOST: n8n.example.com
      N8N_PROTOCOL: https
      WEBHOOK_URL: https://n8n.example.com/
      N8N_ENCRYPTION_KEY: ${ENCRYPTION_KEY}
      GENERIC_TIMEZONE: UTC
    ports:
      - "127.0.0.1:5678:5678"
    volumes:
      - n8n:/home/node/.n8n

volumes:
  db:
  n8n:
YAML

Paso 2: secretos

cat > .env <<ENV
DB_PASSWORD=$(openssl rand -hex 24)
ENCRYPTION_KEY=$(openssl rand -hex 32)
ENV
chmod 600 .env

Haz copia de seguridad de ENCRYPTION_KEY. Sin ella, n8n no puede descifrar las credenciales que ha almacenado.

Los pasos de esta guía en orden: 1. ¿Por qué un VPS para agentes?; 2. Antes de empezar; 3. secretos; 4. inicia n8n; 5. crea un flujo de trabajo con un agente; 6. Mantenlo seguro
Los pasos de esta guía, en orden.

Paso 3: inicia n8n

docker compose up -d
docker compose logs -f n8n

Paso 4: HTTPS

n8n.example.com {
  reverse_proxy 127.0.0.1:5678
}

Recarga Caddy, abre el sitio y crea la cuenta de propietario.

Paso 5: crea un flujo de trabajo con un agente

  1. Añade un disparador Webhook o Schedule.
  2. Añade un nodo AI Agent y conecta un modelo de chat, por ejemplo una API alojada, u Ollama en tu propio servidor GPU.
  3. Dale al agente herramientas como peticiones HTTP, una base de datos o un nodo de mensajería.
  4. Prueba con una ejecución manual y luego activa el flujo de trabajo.

Mantenlo seguro

  • Vincula n8n a 127.0.0.1 y expón solo el proxy HTTPS.
  • Protege los webhooks con una cabecera secreta o una ruta secreta siempre que sea posible.
  • Haz copia de seguridad del volumen de Postgres y del volumen de n8n. Consulta las copias de seguridad con restic o borg.
  • Actualiza con docker compose pull && docker compose up -d después de leer las notas de la versión.