Publicado en

Cómo instalar y configurar n8n con Docker y Cloudflare Tunnel en Windows 11

n8n

Cómo instalar y configurar n8n con Docker y Cloudflare Tunnel en Windows 11

Aprende a montar tu propio servidor de automatización n8n en Windows 11, con Docker y Cloudflare Tunnel para acceso seguro con HTTPS y dominio personalizado — sin gastar en hosting.

🔍 Introducción

n8n es una potente herramienta de automatización de flujos (workflow automation) que puedes ejecutar en tu propio entorno. Con Docker y Cloudflare Tunnel puedes tenerlo disponible desde Internet con HTTPS, sin abrir puertos y sin servidores externos.

En esta guía te muestro cómo hacerlo paso a paso.

⚙️ Requisitos

  • Windows 11
  • Docker Desktop
  • Cloudflared (cliente oficial de Cloudflare Tunnel)
  • Tu propio dominio, o un dominio gestionado en Cloudflare (o subdominio con DNS activo)

🧱 Paso 1: Instalar Docker Desktop

Descarga e instala Docker Desktop para Windows desde su sitio oficial. Durante la instalación, asegúrate de habilitar la opción “Start Docker Desktop when you log in”.

🚀 Paso 2: Crear carpeta y archivo Docker Compose

Crea una carpeta local para tu servidor n8n:

mkdir C:\n8n-server
cd C:\n8n-server

Dentro, crea el archivo docker-compose.yml:

services:
  n8n:
    image: n8nio/n8n:latest
    restart: always
    ports:
      - "5678:5678"
    environment:
      - GENERIC_TIMEZONE=America/Mexico_City
      - N8N_BASIC_AUTH_ACTIVE=true
      - N8N_BASIC_AUTH_USER=admin
      - N8N_BASIC_AUTH_PASSWORD=TuClaveSegura123
      - WEBHOOK_URL=https://n8n.tudominio.com/
    volumes:
      - ./data:/home/node/.n8n

Guarda los cambios y arranca el contenedor:

docker compose up -d

🌐 Paso 3: Instalar y configurar Cloudflared

Descarga Cloudflared desde GitHub o instálalo con Winget:

winget install --id Cloudflare.cloudflared

Verifica la instalación:

cloudflared --version

Inicia sesión con tu cuenta de Cloudflare para autorizar el túnel:

cloudflared tunnel login

Esto abrirá tu navegador y generará un archivo cert.pem en:

C:\Users\<usuario>\.cloudflared\cert.pem

🔗 Paso 4: Crear el túnel y DNS en Cloudflare

Crea el túnel:

cloudflared tunnel create n8n-tunnel

Apunta un subdominio al túnel:

cloudflared tunnel route dns n8n-tunnel n8n.tudominio.com

Configura el archivo config.yml en C:\Users\<usuario>\.cloudflared:

tunnel: n8n-tunnel
credentials-file: C:\Users\<usuario>\.cloudflared\n8n-tunnel.json

ingress:
  - hostname: n8n.tudominio.com
    service: http://localhost:5678
  - service: http_status:404

Luego ejecuta el túnel:

cloudflared tunnel run n8n-tunnel

Después de unos segundos, podrás acceder a tu instalación en:

https://n8n.tudominio.com

🧩 Paso 5: Automatizar Cloudflared como servicio

Instala el servicio:

& "C:\Program Files\Cloudflare\cloudflared.exe" service install

Copia el archivo config.yml y el .json del túnel a:

C:\Windows\System32\config\systemprofile\.cloudflared\

Verifica que el servicio esté activo:

Set-Service -Name Cloudflared -StartupType Automatic
Restart-Service Cloudflared
Get-Service Cloudflared

⚡ Paso 6: Iniciar Docker + n8n automáticamente

Crea el script Start-N8N.ps1 en C:\n8n-server:

$composePath = 'C:\n8n-server\docker-compose.yml'
$dockerExe   = 'C:\Program Files\Docker\Docker\Docker Desktop.exe'

if (-not (Get-Process -Name "Docker Desktop" -ErrorAction SilentlyContinue)) {
  Start-Process -FilePath $dockerExe
}
Start-Sleep -Seconds 60
docker compose -f $composePath up -d

Y crea la tarea programada para ejecutarlo automáticamente:

$taskName  = 'Start-N8N-and-Docker'
$ps1       = 'C:\n8n-server\Start-N8N.ps1'
$action    = New-ScheduledTaskAction -Execute 'powershell.exe' -Argument "-ExecutionPolicy Bypass -File `"$ps1`""
$t1        = New-ScheduledTaskTrigger -AtStartup
$t1.Delay  = 'PT90S'
$t2        = New-ScheduledTaskTrigger -AtLogOn
$t2.Delay  = 'PT30S'
Register-ScheduledTask -TaskName $taskName -Action $action -Trigger $t1,$t2 -Description 'Inicia Docker Desktop y n8n automáticamente' -User "$env:USERNAME" -RunLevel Highest

🧹 Paso 7: Apagado limpio

Para detener automáticamente n8n y Docker al apagar o suspender Windows, crea el script Stop-N8N.ps1:

$composePath   = 'C:\n8n-server\docker-compose.yml'
$cloudflaredSv = 'Cloudflared'

docker compose -f $composePath down
Stop-Service $cloudflaredSv -Force -ErrorAction SilentlyContinue

Y registra las tareas con:

schtasks /Create /TN "Stop-N8N-and-Docker_OnShutdown" /SC ONEVENT /EC System /MO '*[System[Provider[@Name="USER32"] and (EventID=1074)]]' /TR "powershell.exe -ExecutionPolicy Bypass -File 'C:\n8n-server\Stop-N8N.ps1'" /RU SYSTEM /RL HIGHEST /F
schtasks /Create /TN "Stop-N8N-and-Docker_OnSleep" /SC ONEVENT /EC System /MO '*[System[Provider[@Name="Microsoft-Windows-Kernel-Power"] and (EventID=42)]]' /TR "powershell.exe -ExecutionPolicy Bypass -File 'C:\n8n-server\Stop-N8N.ps1'" /RU SYSTEM /RL HIGHEST /F

✅ Resultado final

  • n8n corriendo en Docker (reinicia automáticamente)
  • Cloudflare Tunnel gestionando HTTPS y dominio
  • Scripts automáticos para arranque y apagado
  • Acceso seguro en https://n8n.tudominio.com

¡Tu servidor n8n está listo para automatizar tareas 24/7 sin costos de hosting!

💡 Tip: Automatiza tus primeros flujos creando un cron que envíe alertas o sincronice archivos entre OneDrive, Outlook y otras APIs.

Deja una respuesta

Tu dirección de correo electrónico no será publicada. Los campos obligatorios están marcados con *

Tiempo excedido. Por favor completa el captcha nuevamente

Este sitio usa Akismet para reducir el spam. Aprende cómo se procesan los datos de tus comentarios.