Guía Definitiva de Migración a n8n v2.0: Cambios Críticos y Plan de Acción

La llegada de n8n v2.0 marca un antes y un después para la plataforma. Esta no es una simple actualización con “juguetes nuevos”; es una reingeniería profunda enfocada en seguridad, estabilidad y rendimiento para entornos de producción.

Para los profesionales de la automatización, esto es excelente, pero también implica riesgos: si no te preparas, los llamados “breaking changes” (cambios rupturistas) podrían detener tus flujos de trabajo actuales.

A continuación, explicamos todo lo que necesitas saber, en español y sin tecnicismos innecesarios, junto con un plan paso a paso para actualizar sin miedo.

🚨 Los 6 Cambios Críticos que Debes Conocer

1. Seguridad Reforzada: “Cerrado por defecto”

La filosofía de v2.0 es simple: si es riesgoso, viene desactivado.

  • Nodos de Código Aislados: El nodo Code ya no puede leer libremente tus variables de entorno globales (como claves API del servidor). Ahora debes habilitar el acceso explícitamente si lo necesitas, aunque la recomendación es usar el sistema de credenciales.
  • Adiós a los Permisos Laxos: n8n ahora exige que los archivos de configuración tengan permisos estrictos (0600). Si tu instalación de Docker o Linux tiene permisos demasiado abiertos, n8n se negará a arrancar para proteger tus secretos.
  • OAuth más seguro: Las URLs de respuesta (“callbacks”) para conectar apps requerirán autenticación obligatoria. Esto cierra una posible puerta trasera para atacantes.

2. El Fin de MySQL y la Nueva Era de Datos

Si gestionas tu propio servidor (self-hosted), este es el cambio más drástico.

  • MySQL/MariaDB Eliminados: n8n v2.0 no funcionará si usas estas bases de datos como backend. Debes migrar obligatoriamente a PostgreSQL (el estándar recomendado) o SQLite. Dado que muchos usuarios avanzados ya usan Postgres, esto confirma que es la mejor ruta a largo plazo.​
  • Archivos Binarios en Disco: Se elimina la opción de guardar archivos (PDFs, imágenes) en la memoria RAM. Ahora se guardarán en el disco o en la base de datos. Esto evita que tu servidor colapse (“crash”) cuando procesas archivos pesados.​

3. Python Nativo y Task Runners

El manejo de código Python cambia radicalmente para ser más rápido y seguro.

  • Python Real: Se elimina la versión limitada que corría en el navegador (Pyodide). Ahora Python corre de forma nativa en el servidor.
  • Task Runners Obligatorios: Para ejecutar este código, n8n ahora usa “Task Runners” (ejecutores de tareas aislados).
    • Ojo usuarios de Docker: La imagen principal n8nio/n8n ya no incluye estos runners. Si usas Python, deberás añadir un segundo contenedor con la imagen n8nio/runners a tu configuración.​

4. Lógica de Flujos: Sub-flujos y Esperas

Un error histórico ha sido corregido, pero podría cambiar cómo funcionan tus automatizaciones actuales.

  • El problema: Antes, si un flujo principal llamaba a un sub-flujo que tenía una pausa (nodo “Wait”), el flujo principal recibía datos incorrectos antes de tiempo.
  • La solución: En v2.0, el flujo principal esperará pacientemente a que el sub-flujo termine por completo y devolverá los datos finales correctos.

5. Adiós a Herramientas Obsoletas

Se ha hecho limpieza de funciones que causaban más problemas que soluciones.

  • Sin Túnel (--tunnel): El comando mágico para exponer tu servidor local a internet ha sido eliminado por inestable.
    • Alternativa: Usa herramientas robustas como ngrok, Cloudflare Tunnel o Localtunnel.
  • Nodos Retirados: Los nodos de Spontit, crowd.dev y Kitemaker desaparecen porque esos servicios ya no existen o cambiaron. Si los tienes en algún flujo, bórralos o tu flujo fallará.
  • Git “Bare”: Por seguridad, el nodo de Git ya no acepta repositorios “bare” (sin archivos de trabajo) por defecto.

6. Configuración .env más estricta

La librería que lee tus configuraciones se actualizó y ahora es “quisquillosa” con la sintaxis.

  • Si tus contraseñas tienen caracteres especiales (como backticks `), ahora deben ir entre comillas: CLAVE="miclave”`.
  • El símbolo # ahora siempre inicia un comentario, así que ten cuidado si usabas # dentro de alguna contraseña sin comillas.

🛠️ Tu Plan de Actualización Paso a Paso

Sigue esta lista de chequeo para una transición sin dolores de cabeza.

Fase 1: Auditoría (Semana Previa)

  1. Verifica tu Base de Datos: Entra a tu configuración. Si ves DB_TYPE=mysqldb, DETENTE. Tienes que migrar a PostgreSQL antes de hacer nada más.
  2. Revisa tus Nodos “Code”: Busca scripts que usen process.env para leer claves secretas. Mueve esas claves al sistema de Credenciales de n8n.
  3. Prepara tu Túnel: Si dependes de n8n --tunnel para desarrollo local, instala y configura ngrok o similar.

Fase 2: Simulación (Día Previo)

Puedes activar estas variables en tu versión actual para ver qué se rompe antes de actualizar:

  • N8N_BLOCK_ENV_ACCESS_IN_NODE=true (Prueba si tus scripts de código fallan).
  • N8N_ENFORCE_SETTINGS_FILE_PERMISSIONS=true (Prueba si tus permisos de archivo son correctos).

Fase 3: El Día D (Actualización)

  1. Respaldo Total:
    • Exporta todos tus workflows y credenciales a un archivo JSON.
    • Haz una copia de la carpeta .n8n.
    • Haz un dump (copia) de tu base de datos Postgres.
  2. Actualiza tu docker-compose.yml:
    • Cambia la imagen a la versión 2.x.
    • Si usas Python, agrega el servicio n8nio/runners.
    • Elimina variables viejas como QUEUE_WORKER_MAX_STALLED_COUNT.
  3. Despliega y Monitorea:
    • Ejecuta docker compose up -d.
    • Mira los logs (docker compose logs -f) inmediatamente. Si ves errores de “permissions denied”, ajusta el dueño de los archivos (chown).

Cheat Sheet: Variables de Entorno Clave

VariableValor RecomendadoNotas
N8N_RUNNERS_ENABLEDtrueObligatorio si usas la nueva arquitectura segura.
N8N_SKIP_AUTH_ON_OAUTH_CALLBACKfalseMantenlo así por seguridad. Cámbialo a true solo si tus integraciones fallan y necesitas arreglarlas rápido.
DB_TYPEpostgresdbEl único camino a seguir para producción seria.

Conclusión

La versión 2.0 es el paso de n8n hacia la madurez empresarial. Aunque la actualización requiere trabajo manual, el resultado es una plataforma más rápida, segura y confiable para tus automatizaciones críticas.

Consejo de experto: No actualices tu producción el día del lanzamiento. Crea una instancia de prueba (staging), rompe cosas allí primero, y actualiza producción solo cuando estés 100% seguro.

¿Quieres aprender a trabajar con n8n desde cero?

En Azul School puedes aprender todo lo necesario para crear automatizaciones y agentes de IA con n8n, sin experiencia previa. Nuestra plataforma incluye clases en vivocursos profesionales paso a paso, y acompañamiento personalizado para ayudarte a lanzar tus propios proyectos.

¡Te esperamos en Azul School!

Artículos relacionados

Respuestas