Cómo instalar y usar n8n


Instala n8n en docker y realiza la configuracion inicial para crear los primeros flijos

Cómo instalar y usar n8n
oscar Escrito por oscar 14 July 2025 2346 0

Para instalar n8n, puedes elegir entre varios métodos que se mencionan en la documentacion oficial, incluyendo la instalación con npm en un servidor VPS, con Docker, o a través de un servicio de hosting que ofrezca plantillas preconfiguradas.

Se recomienda considerar las necesidades específicas de tu proyecto y nivel de experiencia técnica al elegir el método de instalación. 

Instalación Local

Usando npm (Node.js), Requiere tener Node.js y npm instalados.

npm install n8n -g n8n

Docker

Al usar docker es ideal para entornos controlados o servidores, creamos el archivo docker-compose.yml

Estructura del proyecto

Primer paso es crear el directorio de trabajo:

mkdir n8n-docker
cd n8n-docker

La estructura esperada es la siguiente.

n8n-docker
│
├── docker-compose.yml
├── .env
└── volumes
    ├── postgres
    └── n8n

Procedemos a crear los directorios para los volúmenes de docker

mkdir -p volumes/postgres
mkdir -p volumes/n8n

Configurar .env

Esto separa credenciales del compose. Creamos el archivo .env

POSTGRES_USER=n8n
POSTGRES_PASSWORD=n8nStrongPassword
POSTGRES_DB=n8n

N8N_BASIC_AUTH_ACTIVE=true
N8N_BASIC_AUTH_USER=admin
N8N_BASIC_AUTH_PASSWORD=adminStrongPassword

N8N_HOST=localhost
N8N_PORT=5678
N8N_PROTOCOL=http

GENERIC_TIMEZONE=America/Bogota

Esto permite:

Docker Compose profesional

Creamos el docker-compose.yml

version: "3.8"

services:

  postgres:
    image: postgres:15
    container_name: n8n_postgres
    restart: unless-stopped
    environment:
      POSTGRES_USER: ${POSTGRES_USER}
      POSTGRES_PASSWORD: ${POSTGRES_PASSWORD}
      POSTGRES_DB: ${POSTGRES_DB}
    volumes:
      - ./volumes/postgres:/var/lib/postgresql/data
    networks:
      - n8n-network

  n8n:
    image: n8nio/n8n:latest
    container_name: n8n
    restart: unless-stopped
    ports:
      - "5678:5678"
    environment:
      DB_TYPE: postgresdb
      DB_POSTGRESDB_HOST: postgres
      DB_POSTGRESDB_PORT: 5432
      DB_POSTGRESDB_DATABASE: ${POSTGRES_DB}
      DB_POSTGRESDB_USER: ${POSTGRES_USER}
      DB_POSTGRESDB_PASSWORD: ${POSTGRES_PASSWORD}

      N8N_BASIC_AUTH_ACTIVE: ${N8N_BASIC_AUTH_ACTIVE}
      N8N_BASIC_AUTH_USER: ${N8N_BASIC_AUTH_USER}
      N8N_BASIC_AUTH_PASSWORD: ${N8N_BASIC_AUTH_PASSWORD}

      N8N_HOST: ${N8N_HOST}
      N8N_PORT: ${N8N_PORT}
      N8N_PROTOCOL: ${N8N_PROTOCOL}

      GENERIC_TIMEZONE: ${GENERIC_TIMEZONE}

    depends_on:
      - postgres
    volumes:
      - ./volumes/n8n:/home/node/.n8n
    networks:
      - n8n-network

networks:
  n8n-network:
    driver: bridge

Esto:

Backup de la base de datos

Recomendado para producción:

docker exec -t n8n_postgres pg_dump -U n8n n8n > backup.sql

Levantar el servicio

Ejecuta:

docker-compose up -d

Verifica:

http://localhost:5678/

Instalación en Servidores Cloud o VPS

Puedes instalar n8n en servicios como:  PM2 en un VPS (por ejemplo, Ubuntu)

npm install n8n -g
npm install pm2 -g
pm2 start n8n
pm2 save
pm2 startup

Usando servicios cloud preconfigurados

Pantalla Principal de n8n (Editor UI)

Cuando abres n8n, verás el Editor de flujos de trabajo. Aquí está todo lo que encontrarás:

overview n8n
overview n8n

Resumen visual

Pestaña ¿Qué gestiona? ¿Para qué la usarías?
Workflows

Flujos de automatización

Es el centro donde se listan todos los flujos de trabajo (workflows) que has creado o importado.

  • Ver todos tus workflows guardados.
  • Crear un nuevo workflow (botón "New").
  • Buscar workflows por nombre o etiquetas.
  • Editar, duplicar, exportar o eliminar un flujo.
  • Ver cuáles están activados (⚡) y cuáles están inactivos.
  • Organizar por nombre, fecha de modificación, etc.
Credentials

Accesos a servicios externos

Es donde se almacenan de forma segura las credenciales de servicios externos (como Gmail, GitHub, Notion, MySQL, etc.).

  • Crear nuevas credenciales para conectarte con APIs y servicios externos.
  • Editar credenciales existentes.
  • Ver qué workflows están usando cada credencial.
  • Probar si la autenticación funciona correctamente.
Executions

Historial de ejecuciones

Es el historial de todas las ejecuciones pasadas de tus flujos.

  • Ver cuándo se ejecutó un flujo.
  • Ver si fue exitoso (✅) o falló (❌).
  • Revisar los datos que entraron y salieron de cada nodo.
  • Depurar errores o pasos incorrectos.
  • Filtrar por workflow, estado (sucess/error), fecha, etc.
  • Forzar la reejecución de un flujo con los mismos datos.

Workflow

workflow n8n
workflow n8n

Lienzo central (Canvas)

Panel izquierdo: "Nodes" (Nodos disponibles)

Panel derecho: Configuración del nodo

Botón "Execute Node" / "Execute Workflow" (▶️)

Resultados (Output Panel debajo del lienzo)

Botones de la barra superior

Botón o Elemento Función
🔄 New Workflow Crear un nuevo flujo de trabajo
💾 Save Guardar el flujo actual
▶️ Execute Workflow Ejecutar todo el flujo
🧮 Toggle Expression Habilitar modo expresión ({{ }}) para usar variables o scripts
⚙️ Settings Configurar cosas como nombre del workflow, etiquetas, activación, etc.
📤 Export Exportar flujo en formato JSON
📥 Import Importar un flujo desde JSON

Modo expresión y variables ({{ }})

Nodos especiales

Activación de flujos (Workflows activos)

Modo oscuro / claro

Errores que se pueden presentar

our n8n server is configured to use a secure cookie

Ese error ocurre porque n8n detecta que está configurado para usar cookies seguras (Secure Cookies), pero la URL desde la que accedes es HTTP en lugar de HTTPS.

Esto pasa muy frecuentemente cuando:

Solución 1:

environment:
  N8N_SECURE_COOKIE=false

Solución 2:

Configurar correctamente las variables de entorno para que n8n sepa que está detrás de HTTPS.

En el docker-compose.yml:

environment:
  DB_TYPE: postgresdb

  N8N_HOST: dominio.com
  N8N_PROTOCOL: https
  N8N_PORT: 443

  WEBHOOK_URL: https://dominio.com/

  N8N_PROXY_HOPS: 1/

Comentario

Debe aceptar antes de enviar