Blog Stakely
13 Mai 2025

Mise à l’échelle efficace de Walrus Aggregator avec Caddy et Cloudflare

13 Mai 2025

Si vous exécutez un Walrus Aggregator pour gérer des requêtes intensives de téléchargement de blobs, la latence et l’évolutivité sont essentielles. Ce guide vous montre comment configurer votre environnement avec Docker, Caddy et Cloudflare pour réduire la latence jusqu’à 10 fois, sans frais additionnels.

Ce tutoriel s’adresse aux utilisateurs ayant des connaissances techniques sur Linux, Docker et les serveurs web.

Pourquoi cette configuration ?

La configuration par défaut de l’Aggregator fonctionne, mais elle n’est pas optimisée pour un volume élevé de téléchargements. Avec quelques ajustements :

  • Nous contenons l’Aggregator pour faciliter les mises à jour et renforcer la sécurité.
  • Nous utilisons Caddy comme reverse proxy pour gérer les certificats SSL.
  • Nous tirons parti de la couche de cache gratuite de Cloudflare pour améliorer considérablement les performances lors des requêtes répétées.

1. Exécution de l’Aggregator avec Docker

Pour des raisons de déploiement, de sécurité et de maintenance, nous recommandons d’exécuter Walrus Aggregator dans un conteneur Docker.

Utiliser Docker permet de :

  • Isoler le service du système hôte.
  • Éviter d’exposer directement l’Aggregator à Internet.
  • Mettre à jour facilement la version sans longs temps d’arrêt.

Voici un exemple fonctionnel de docker-compose.yaml pour le réseau testnet. Notez que le port de l’Aggregator est uniquement exposé en local (localhost), ce qui empêche tout accès direct depuis l’extérieur, Caddy étant l’unique intermédiaire.


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


Tu peux trouver les dernières versions de l’image Docker ici.

2. Configuration de Caddy comme Reverse Proxy

Caddy est un serveur web moderne et convivial avec prise en charge native du HTTPS. C’est une excellente alternative à Nginx si vous recherchez la simplicité. Tout comme l’Agrégateur, nous recommandons d’exécuter Caddy dans Docker pour maintenir une configuration homogène.

Voici comment l’exécuter avec Docker et une configuration de base via un fichier 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 émettra automatiquement des certificats SSL via Let’s Encrypt. De plus, certains en-têtes CORS sont ajoutés, ce qui est utile pour utiliser l’Agrégateur Walrus dans des applications frontend.

Veuillez noter que Caddy fonctionne en utilisant le réseau de l’hôte, vous devrez donc ouvrir manuellement les ports 80 et 443 dans votre firewall :

sudo ufw allow 80
sudo ufw allow 443

3. Optimisation avec Cloudflare

Une fois votre Aggregator configuré avec Caddy et lié à un domaine public, vous pouvez activer le cache de Cloudflare pour servir les blobs plus rapidement. Pour cela, assurez-vous que l’option proxy (le petit nuage) est activée dans la section DNS de votre domaine.

Configuration du cache

Dans le panneau Cloudflare, accédez à Caching > Cache Rules → New Rule.

Définissez une règle incluant la configuration montrée dans la capture suivante :

Configuration du cache
Configuration du cache

Cette fonctionnalité de Cloudflare est disponible gratuitement pour tous les utilisateurs.

Optionnel : activer le Tiered Cache

Vous pouvez aussi activer la fonctionnalité gratuite Tiered Cache dans le panneau Cloudflare pour améliorer encore plus les performances globales.

Impact sur les performances

Une fois configuré :

  • Le premier téléchargement d’un blob dans une région sera toujours servi par votre serveur.
  • Les requêtes suivantes seront servies depuis le cache Cloudflare jusqu’à expiration, avec une latence jusqu’à 10 fois inférieure.

Avec cette architecture combinée — Aggregator sécurisé et contenu dans Docker, reverse proxy léger et automatique avec Caddy, et cache global gratuit de Cloudflare — vous pouvez faire évoluer les téléchargements de blobs sans augmenter vos coûts ni compromettre la latence.

Des questions ou envie de nous faire part de votre cas ? Écrivez-nous sur notre canal Telegram.

Cet article vous a plu ?

Partagez-le avec vos amis !

Auteur·rice

Ignacio

Résumé

Pourquoi cette configuration ?
1. Exécution de l’Aggregator avec Docker
2. Configuration de Caddy comme Reverse Proxy
3. Optimisation avec Cloudflare
Impact sur les performances

Meilleurs articles

Inscrivez-vous pour recevoir du contenu exclusif

Abonnez-vous pour recevoir les dernières nouvelles et annonces de Stakely. Découvrez avant tout le monde les nouvelles fonctionnalités, les nouveaux réseaux avec lesquels nous travaillons et bénéficiez des meilleurs conseils pour optimiser votre staking

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

C/Ferraz 2, 2º Izq, 28008, Madrid, Espagne