Escalando Walrus Aggregator de forma eficiente con Caddy y Cloudflare

Si estás ejecutando un Walrus Aggregator para soportar peticiones pesadas de descarga de blobs, la latencia y la escalabilidad son clave. En esta guía te mostramos cómo configurar tu entorno usando Docker, Caddy y Cloudflare para reducir la latencia hasta 10 veces, sin coste adicional.
Este tutorial está orientado a usuarios con conocimientos técnicos en Linux, Docker y servidores web.
¿Por qué esta configuración?
La configuración por defecto del Aggregator es funcional, pero no está optimizada para un alto volumen de descargas. Con unos pocos ajustes:
- Contenerizamos el Aggregator para facilitar actualizaciones y mejorar la seguridad.
- Usamos Caddy como reverse proxy para gestionar certificados SSL.
- Aprovechamos la capa de caché gratuita de Cloudflare para mejorar drásticamente el rendimiento en peticiones repetidas.
1. Ejecutando el Aggregator en Docker
Por facilidad de despliegue, seguridad y mantenimiento, recomendamos ejecutar el Walrus Aggregator dentro de un contenedor Docker.
Usar Docker permite:
- Aislar el servicio del sistema host.
- Evitar exponer directamente el Aggregator a internet.
- Actualizar fácilmente la versión sin tiempos prolongados de inactividad.
Aquí tienes un ejemplo funcional de docker-compose.yaml para la red de pruebas. Observa que el puerto del Aggregator solo se expone en local (localhost), lo que impide el acceso directo desde fuera, siendo Caddy el único intermediario.
services:
walrus-aggregator:
image: mysten/walrus-service:testnet-v1.22.1
container_name: walrus-aggregator
restart: always
environment:
- RUST_BACKTRACE=1
- RUST_LOG=info
ports:
- "127.0.0.1:9000:9000"
- "127.0.0.1:27182:27182"
volumes:
- ./config:/opt/walrus/config
docker-compose.yaml
system_object: 0x6c2547cbbc38025cf3adac45f63cb0a8d12ecf777cdc75a4971612bf97fdf6af
staking_object: 0xbe46180321c30aab2f8b3501e24048377287fa708018a5b7c2792b35fe339ee3
config/client_config.yaml
Consulta las últimas versiones de la imagen Docker.
2. Configurando Caddy como Reverse Proxy
Caddy es un servidor web moderno y fácil de usar, con soporte nativo para HTTPS. Es una excelente alternativa a Nginx si buscas simplicidad. Al igual que con el Aggregator, recomendamos ejecutar Caddy en Docker para mantener la coherencia.
A continuación, te mostramos cómo ejecutarlo con Docker y una configuración básica de Caddyfile.
Docker Compose
caddy:
image: caddy:v2.10.0
restart: always
container_name: caddy
volumes:
- ./caddy/Caddyfile:/etc/caddy/Caddyfile
- ./caddy/site:/srv
- ./caddy/caddy_data:/data
- ./caddy/caddy_config:/config
- ./caddy/cache:/data/cache
network_mode: host
docker-compose.yaml
Caddyfile
walrus-testnet-aggregator.stakely.io { reverse_proxy 127.0.0.1:9000 header { Access-Control-Allow-Origin * Access-Control-Allow-Headers * } @cors_preflight method OPTIONS respond @cors_preflight 204 }
caddy/Caddyfile
Caddy emitirá automáticamente certificados SSL mediante Let’s Encrypt. Además, se añaden algunos encabezados CORS, útiles para utilizar el Walrus Aggregator en aplicaciones frontend.
Ten en cuenta que Caddy se ejecuta utilizando la red del host, por lo que deberás abrir manualmente los puertos 80 y 443 en tu firewall:
sudo ufw allow 80
sudo ufw allow 443
3. Optimización con Cloudflare
Una vez tengas tu Aggregator con Caddy y apuntando a un dominio público, puedes activar la caché de Cloudflare para soportar blobs más rápido. Para ello, asegúrate de que el proxy (la nube) esté activado en la sección DNS de tu dominio.
Configuración de la caché
En el panel de Cloudflare, ve a**: Caching > Cache Rules → New Rule**.
Define una regla que incluya la configuración que facilitamos en la siguiente captura:


Esta funcion de Cloudflare está disponible sin ningún coste a todos los usuarios.
Opcional: Activar Tiered Cache
También puedes activar la función gratuita Tiered Cache desde el panel de Cloudflare para mejorar aún más el rendimiento global.
Impacto en el rendimiento
Una vez configurado:
- La primera descarga de un blob en una región aún irá a tu servidor.
- Las siguientes peticiones serán soportadas desde la caché de Cloudflare hasta que expire, con una latencia hasta 10 veces menor.
Con esta arquitectura combinada de Aggregator securizado y contenido en Docker, Reverse proxy ligero y automático con Caddy, y Caché global gratuita de Cloudflare, puedes escalar las descargas de blobs sin aumentar tus costes ni comprometer la latencia.
¿Tienes dudas o quieres comentarnos tu caso? Escríbenos en nuestro canal de Telegram.