Cloudflare Tunnel
Tu dominio con HTTPS sin abrir ningún puerto, con un túnel de Cloudflare.
Con Cloudflare Tunnel, un pequeño conector (cloudflared) abre desde tu servidor una conexión de salida hacia
Cloudflare, y Cloudflare sirve tu dominio con HTTPS a través de ella. No hay que abrir puertos ni tener IP pública:
funciona en casa, detrás de CGNAT o con el router del operador.
Necesitas una cuenta de Cloudflare (el plan gratuito sirve) y el dominio gestionado por Cloudflare (sus servidores DNS).
Crear el túnel
En el panel de Cloudflare, ve a Zero Trust y busca la sección de túneles (en Networks). Crea un túnel de tipo
Cloudflared, ponle un nombre (por ejemplo kumoyami) y copia el token que aparece en las instrucciones de
instalación: es la cadena larga que va tras --token.
Arrancar cloudflared junto a KumoYami
Lo más limpio es añadir cloudflared al mismo proyecto de Docker Compose, en un docker-compose.override.yml junto al
docker-compose.yml:
services:
cloudflared:
image: cloudflare/cloudflared:latest
restart: unless-stopped
command: tunnel --no-autoupdate run
environment:
TUNNEL_TOKEN: ${CLOUDFLARE_TUNNEL_TOKEN}
depends_on:
- webPon el token en el .env:
CLOUDFLARE_TUNNEL_TOKEN=eyJhIjoi…Y arranca:
docker compose up -dEn el panel de Cloudflare, el túnel debería aparecer como conectado.
Publicar el dominio
En la configuración del túnel, añade un hostname público (Public Hostname):
- Subdominio y dominio: por ejemplo
nubeyexample.com. - Servicio: tipo
HTTP, URLweb:3000(el servicio de KumoYami en la red de Docker, en su puerto interno).
Cloudflare crea solo el registro DNS. Abre https://nube.example.com/admin.
Si cloudflared ya está instalado en el servidor
Si usas cloudflared como servicio del sistema (no en Docker), el servicio del hostname público es
http://localhost:4890.
A tener en cuenta
- Tamaño de las subidas: Cloudflare limita el tamaño de cada petición (100 MB en los planes Free y Pro). Las subidas o las copias por WebDAV de archivos más grandes pueden fallar a través del túnel.
- Usuarios del instalador: no le des dominio al instalador (o quita su Caddy con
--no-caddy): con el túnel no hace falta Caddy ni abrir los puertos 80 y 443. - Vídeo: el contenido pasa por la red de Cloudflare. Revisa sus condiciones de uso si vas a servir mucho vídeo.