# N8N

# Actualizar N8N

# 🧰 **1. Requisitos previos**

Este tutorial asume que n8n está instalado mediante **Docker Compose** y que la estructura es similar a:

<div class="contain-inline-size rounded-2xl corner-superellipse/1.1 relative bg-token-sidebar-surface-primary" id="bkmrk-%2Froot%2Fn8n%2F-%E2%94%9C%E2%94%80%E2%94%80-compo"><div class="sticky top-9"><div class="absolute end-0 bottom-0 flex h-9 items-center pe-2"><div class="bg-token-bg-elevated-secondary text-token-text-secondary flex items-center gap-4 rounded-sm px-2 font-sans text-xs">  
</div></div></div><div class="overflow-y-auto p-4" dir="ltr">`/root/n8n/ ├── compose.yaml ├── n8n.env ├── <span class="hljs-keyword">local</span>-files/ └── <span class="hljs-keyword">local</span>-files-backup/`</div></div>El directorio `local-files/` contiene todos tus datos:

- Flujos
- Credenciales
- Configuración interna de n8n

---

# 📦 **2. Estructura de archivos relevante**

Archivo principal del despliegue:

<div class="contain-inline-size rounded-2xl corner-superellipse/1.1 relative bg-token-sidebar-surface-primary" id="bkmrk-%2Froot%2Fn8n%2Fcompose.ya"><div class="sticky top-9"><div class="absolute end-0 bottom-0 flex h-9 items-center pe-2"><div class="bg-token-bg-elevated-secondary text-token-text-secondary flex items-center gap-4 rounded-sm px-2 font-sans text-xs">  
</div></div></div><div class="overflow-y-auto p-4" dir="ltr">`/root/n8n/compose.yaml`</div></div>Ejemplo mínimo:

<div class="contain-inline-size rounded-2xl corner-superellipse/1.1 relative bg-token-sidebar-surface-primary" id="bkmrk-services%3A-n8n%3A-image"><div class="sticky top-9"><div class="absolute end-0 bottom-0 flex h-9 items-center pe-2"><div class="bg-token-bg-elevated-secondary text-token-text-secondary flex items-center gap-4 rounded-sm px-2 font-sans text-xs">  
</div></div></div><div class="overflow-y-auto p-4" dir="ltr">`<span class="hljs-attr">services:</span>  <span class="hljs-attr">n8n:</span>    <span class="hljs-attr">image:</span> <span class="hljs-string">docker.n8n.io/n8nio/n8n:latest</span>    <span class="hljs-attr">env_file:</span> <span class="hljs-string">./n8n.env</span>    <span class="hljs-attr">ports:</span>      <span class="hljs-bullet">-</span> <span class="hljs-string">"5678:5678"</span>    <span class="hljs-attr">volumes:</span>      <span class="hljs-bullet">-</span> <span class="hljs-string">./local-files:/home/node/.n8n</span>`</div></div>---

# 🛟 **3. Crear copia de seguridad**

Antes de actualizar, genera un respaldo por seguridad:

<div class="contain-inline-size rounded-2xl corner-superellipse/1.1 relative bg-token-sidebar-surface-primary" id="bkmrk-cd-%2Froot%2Fn8n-cp--r-l"><div class="sticky top-9"><div class="absolute end-0 bottom-0 flex h-9 items-center pe-2"><div class="bg-token-bg-elevated-secondary text-token-text-secondary flex items-center gap-4 rounded-sm px-2 font-sans text-xs">  
</div></div></div><div class="overflow-y-auto p-4" dir="ltr">`<span class="hljs-built_in">cd</span> /root/n8n<span class="hljs-built_in">cp</span> -r local-files local-files-backup-$(<span class="hljs-built_in">date</span> +%Y%m%d)`</div></div>Opcional (si usas Postgres):

<div class="contain-inline-size rounded-2xl corner-superellipse/1.1 relative bg-token-sidebar-surface-primary" id="bkmrk-docker-exec--t-n8n-d"><div class="sticky top-9"><div class="absolute end-0 bottom-0 flex h-9 items-center pe-2"><div class="bg-token-bg-elevated-secondary text-token-text-secondary flex items-center gap-4 rounded-sm px-2 font-sans text-xs">  
</div></div></div><div class="overflow-y-auto p-4" dir="ltr">`docker <span class="hljs-built_in">exec</span> -t n8n-db pg_dumpall -c -U postgres > n8n_backup.sql`</div></div>---

# 🔄 **4. Actualizar n8n a la última versión estable**

### 4.1 Detener el servicio

<div class="contain-inline-size rounded-2xl corner-superellipse/1.1 relative bg-token-sidebar-surface-primary" id="bkmrk-docker-compose-down"><div class="sticky top-9"><div class="absolute end-0 bottom-0 flex h-9 items-center pe-2"><div class="bg-token-bg-elevated-secondary text-token-text-secondary flex items-center gap-4 rounded-sm px-2 font-sans text-xs">  
</div></div></div><div class="overflow-y-auto p-4" dir="ltr">`docker compose down`</div></div>### 4.2 Descargar la imagen actualizada

<div class="contain-inline-size rounded-2xl corner-superellipse/1.1 relative bg-token-sidebar-surface-primary" id="bkmrk-docker-compose-pull"><div class="sticky top-9"><div class="absolute end-0 bottom-0 flex h-9 items-center pe-2"><div class="bg-token-bg-elevated-secondary text-token-text-secondary flex items-center gap-4 rounded-sm px-2 font-sans text-xs">  
</div></div></div><div class="overflow-y-auto p-4" dir="ltr">`docker compose pull`</div></div>### 4.3 Iniciar nuevamente

<div class="contain-inline-size rounded-2xl corner-superellipse/1.1 relative bg-token-sidebar-surface-primary" id="bkmrk-docker-compose-up--d"><div class="sticky top-9"><div class="absolute end-0 bottom-0 flex h-9 items-center pe-2"><div class="bg-token-bg-elevated-secondary text-token-text-secondary flex items-center gap-4 rounded-sm px-2 font-sans text-xs">  
</div></div></div><div class="overflow-y-auto p-4" dir="ltr">`docker compose up -d`</div></div>Esto:

- Conserva tus flujos
- Mantiene credenciales
- No borra configuraciones
- Levanta n8n con la nueva versión disponible

---

# 🔍 **5. Verificar la versión de n8n**

Ejecuta:

<div class="contain-inline-size rounded-2xl corner-superellipse/1.1 relative bg-token-sidebar-surface-primary" id="bkmrk-docker-compose-exec-"><div class="sticky top-9"><div class="absolute end-0 bottom-0 flex h-9 items-center pe-2"><div class="bg-token-bg-elevated-secondary text-token-text-secondary flex items-center gap-4 rounded-sm px-2 font-sans text-xs">  
</div></div></div><div class="overflow-y-auto p-4" dir="ltr">`docker compose <span class="hljs-built_in">exec</span> n8n n8n --version`</div></div>Deberías ver algo como:

<div class="contain-inline-size rounded-2xl corner-superellipse/1.1 relative bg-token-sidebar-surface-primary" id="bkmrk-1.122.4"><div class="sticky top-9"><div class="absolute end-0 bottom-0 flex h-9 items-center pe-2"><div class="bg-token-bg-elevated-secondary text-token-text-secondary flex items-center gap-4 rounded-sm px-2 font-sans text-xs">  
</div></div></div><div class="overflow-y-auto p-4" dir="ltr">`1.122.4`</div></div>(la actual estable antes del lanzamiento de n8n 2.0)

---

# 🧹 **6. Limpiar imágenes antiguas (opcional)**

Si deseas liberar espacio:

<div class="contain-inline-size rounded-2xl corner-superellipse/1.1 relative bg-token-sidebar-surface-primary" id="bkmrk-docker-image-prune--"><div class="sticky top-9"><div class="absolute end-0 bottom-0 flex h-9 items-center pe-2"><div class="bg-token-bg-elevated-secondary text-token-text-secondary flex items-center gap-4 rounded-sm px-2 font-sans text-xs">  
</div></div></div><div class="overflow-y-auto p-4" dir="ltr">`docker image prune -f`</div></div>---

# 🔁 **7. Rollback (volver a la versión anterior)**

Si algo sale mal:

### 7.1 Edita `compose.yaml` y fija la versión previa

Ejemplo:

<div class="contain-inline-size rounded-2xl corner-superellipse/1.1 relative bg-token-sidebar-surface-primary" id="bkmrk-image%3A-docker.n8n.io"><div class="sticky top-9"><div class="absolute end-0 bottom-0 flex h-9 items-center pe-2"><div class="bg-token-bg-elevated-secondary text-token-text-secondary flex items-center gap-4 rounded-sm px-2 font-sans text-xs">  
</div></div></div><div class="overflow-y-auto p-4" dir="ltr">`<span class="hljs-attr">image:</span> <span class="hljs-string">docker.n8n.io/n8nio/n8n:1.122.4</span>`</div></div>### 7.2 Levántalo:

<div class="contain-inline-size rounded-2xl corner-superellipse/1.1 relative bg-token-sidebar-surface-primary" id="bkmrk-docker-compose-down-"><div class="sticky top-9"><div class="absolute end-0 bottom-0 flex h-9 items-center pe-2"><div class="bg-token-bg-elevated-secondary text-token-text-secondary flex items-center gap-4 rounded-sm px-2 font-sans text-xs">  
</div></div></div><div class="overflow-y-auto p-4" dir="ltr">`docker compose downdocker compose up -d`</div></div>### 7.3 Restaurar datos si fuera necesario

<div class="contain-inline-size rounded-2xl corner-superellipse/1.1 relative bg-token-sidebar-surface-primary" id="bkmrk-rm--r-local-files-cp"><div class="sticky top-9"><div class="absolute end-0 bottom-0 flex h-9 items-center pe-2"><div class="bg-token-bg-elevated-secondary text-token-text-secondary flex items-center gap-4 rounded-sm px-2 font-sans text-xs">  
</div></div></div><div class="overflow-y-auto p-4" dir="ltr">`<span class="hljs-built_in">rm</span> -r local-files<span class="hljs-built_in">cp</span> -r local-files-backup-YYYYMMDD local-files`</div></div>---

# 📝 **8. Notas adicionales**

- n8n 2.0.0 estable llegará el **15 de diciembre**.
- Hasta ese día, `latest` seguirá señalando versiones 1.x.
- La actualización a 2.0.0 requerirá pasos adicionales, ya que será una **major release con cambios incompatibles**.
- Se recomienda realizar un backup completo antes de actualizar a cualquier versión mayor.