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.cloudflaredVerifica la instalación:
cloudflared --versionInicia sesión con tu cuenta de Cloudflare para autorizar el túnel:
cloudflared tunnel loginEsto 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-tunnelApunta un subdominio al túnel:
cloudflared tunnel route dns n8n-tunnel n8n.tudominio.comConfigura 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-tunnelDespué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 installCopia 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!

