Blog de Stakely
13 de Mayo de 2025

Escalando Walrus Aggregator de forma eficiente con Caddy y Cloudflare

13 de Mayo de 2025

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:

Configuración de la caché
Configuración de la caché

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.

¿Te gusta este artículo?

¡Compártelo con tus amigos!

Autor/a

Ignacio

Índice

¿Por qué esta configuración?
1. Ejecutando el Aggregator en Docker
2. Configurando Caddy como Reverse Proxy
3. Optimización con Cloudflare
Impacto en el rendimiento

Artículos destacados

¡Suscríbete a nuestra newsletter!

Suscríbete para seguir de cerca las últimas novedades y anuncios de Stakely. Entérate antes que nadie de nuevas funciones, nuevas redes que validaremos y accede a los mejores consejos para optimizar tu staking

© Stakely 2024 | Stakely, S.L. | NIF B72551682

C/Ferraz 2, 2º Izq, 28008, Madrid, España