Durante un tiempo he estado utilizando Cloudflare Email Routing en varios dominios como forma de organizar mi mail y también por temas de privacidad. Es una herramienta bastante top prácticamente gratis que te da Cloudflare si tienes un dominio con ellos.

El problema de la mayoría de este tipo de servicios que te da Cloudflare es que prácticamente la UI está hecha para empresas y no para uso diario. Si lo utilizabais sabréis que entrar al panel de control de Cloudflare cada vez que quieres crear un alias rápido es bastante tostón, especialmente desde el móvil.

Para solucionar esto he creado vuzon: una interfaz web sencilla, autoalojable y optimizada para móviles que se conecta directamente a la API de Cloudflare para gestionar Email Routing. Está pensada exclusivamente para uso personal en tu homelab o red privada.

Características principales

  • Crear alias y reglas de enrutamiento de forma rápida.
  • Gestión de destinatarios (direcciones de destino).
  • Habilitar o deshabilitar reglas con un solo clic.
  • Interfaz completamente responsive y soporte PWA.
  • Al instalarla en tu propio servidor mantienes el control absoluto de todo. Funciona con tu propia cuenta y tus dominios de Cloudflare.

Instalación rápida mediante Docker Compose

El despliegue es muy sencillo utilizando Docker. Sigue estos pasos para ponerlo en marcha en tu máquina:

1) Crear y configurar el archivo .env

# 1) Obligatorio: Token con permisos para Email Routing y tu dominio
CF_API_TOKEN=tu_token_api_de_cloudflare
DOMAIN=tudominio.com

# Credenciales para acceder al panel de vuzon
AUTH_USER=admin
AUTH_PASS=tu_contraseña_segura

# 2) Recomendado: Define un secreto estable para evitar cierres de sesión al reiniciar el contenedor
SESSION_SECRET=un_valor_aleatorio_y_seguro

# 3) Opcional: Puerto donde se expondrá el servicio en el host (por defecto 8001)
VUZON_PORT=8001

# 4) Opcional: Solo como referencia de documentación/proxy (la app no lo lee en runtime)
BASE_URL=https://vuzon.tudominio.com

⚠️ Nota sobre los permisos del CF_API_TOKEN****: El token personalizado que generes en Cloudflare necesita imperativamente los siguientes permisos:

  • Account → Email Routing Addresses → Edit (Para gestionar destinatarios).
  • Zone → Email Routing Rules → Edit (Para crear y alternar alias).
  • Zone → Zone → Read (Requerido únicamente para que vuzon autodetecte tu CF_ZONE_ID y CF_ACCOUNT_ID basándose en tu DOMAIN).

(Tip: Puedes generar un valor seguro para SESSION_SECRET ejecutando openssl rand -hex 32 en tu terminal).

2) Crear el archivo docker-compose.yml

En el mismo directorio donde guardaste el .env, crea el archivo docker-compose.yml con el contenido oficial del proyecto:

services:
  vuzon:
    container_name: vuzon
    image: ghcr.io/kn990x/vuzon
    env_file:
      - .env
    environment:
      PORT: "8001"
    restart: unless-stopped
    ports:
      - "${VUZON_PORT:-8001}:8001"

(Nota: vuzon utiliza cookies firmadas del lado del cliente (vuzon_session) para gestionar la autenticación de forma segura, por lo que no requiere persistir datos en carpetas locales ni montar volúmenes de sesión en el disco de tu servidor).

3) Desplegar

Para descargar la imagen e iniciar el servicio, ejecuta en tu terminal:

docker compose pull && docker compose up -d

Una vez iniciado el contenedor, ya podrás abrir en tu navegador http://localhost:8001 (o la IP local de tu servidor) e iniciar sesión utilizando el usuario (AUTH_USER) y contraseña (AUTH_PASS) que definiste previamente.

Te recomiendo encarecidamente poner vuzon detrás de un proxy inverso (como Caddy, Traefik o Nginx Proxy Manager) con un certificado SSL (Let's Encrypt) y activar la variable TRUST_PROXY=1 en tu .env si vas a acceder desde fuera de casa.