4.5 KiB
4.5 KiB
title: Caddy created: 2026-06-06 updated: 2026-06-06 type: app tags: [catalogue, reverse-proxy, web-server, go, auto-hebergement] confidence: high contested: false sources: [https://selfh.st/apps/?tag=Reverse+Proxy, https://caddyserver.com/]
🚦 Caddy
Serveur web et reverse proxy moderne écrit en Go. Réputation : HTTPS automatique, configuration minimale, performance solide.
📋 Informations Générales
| Champ | Valeur |
|---|---|
| Site web | caddyserver.com |
| GitHub | caddyserver/caddy |
| License | Apache-2.0 |
| Langage | Go |
| Étoiles GitHub | 73k ⭐ |
| Dernière MAJ | 2026-06-05 |
| Catégorie | [[cat-reverse-proxy |
📝 Description
Caddy est un serveur web open-source qui a révolutionné le monde du reverse proxy en rendant HTTPS automatique par défaut. Caractéristiques :
- ✅ HTTPS automatique via Let's Encrypt (zero config)
- ✅ Configuration ultra-simple (Caddyfile)
- ✅ HTTP/2 et HTTP/3 (QUIC) par défaut
- ✅ Reverse proxy avec load balancing
- ✅ Plugins pour étendre les fonctionnalités
- ✅ Cross-platform : Linux, Windows, macOS, Docker, ARM
- ✅ Single binary : pas de dépendances
Public cible : utilisateurs qui veulent un truc qui marche out-of-the-box, sans se battre avec des configs Nginx/Traefik pendant des heures.
🚀 Installation
Option 1 : Docker Compose (recommandé)
# docker-compose.yml
version: '3.8'
services:
caddy:
image: caddy:2
container_name: caddy
restart: unless-stopped
ports:
- "80:80"
- "443:443"
volumes:
- ./Caddyfile:/etc/caddy/Caddyfile
- caddy_data:/data
- caddy_config:/config
networks:
- proxy
networks:
proxy:
external: true
volumes:
caddy_data:
caddy_config:
Caddyfile (exemple)
# /etc/caddy/Caddyfile
# Configuration ultra-simple : HTTPS automatique !
# Site principal
example.com {
reverse_proxy app1:8080
}
# Sous-domaine
api.example.com {
reverse_proxy app2:5000
}
# Avec auth basique
admin.example.com {
basicauth {
admin $2a$14$... # hash bcrypt
}
reverse_proxy admin-app:9000
}
⚡ C'est tout ! Pas de certbot, pas de configuration SSL. Caddy fait tout tout seul.
Option 2 : Binaire natif
# Installation sur Linux
curl -fsSL https://get.caddyserver.com | bash -s personal
# Ou via package manager
sudo apt install caddy
⚙️ Configuration Initiale
- Écrire un Caddyfile (voir exemple ci-dessus)
- Monter le dossier contenant le Caddyfile dans le conteneur
- Lancer : Caddy va automatiquement :
- Générer les certs Let's Encrypt
- Configurer HTTPS
- Reload la config à la volée (modifié =
caddy reloadou auto-reload)
🔄 Alternatives
Open Source
- app-traefik — Plus adapté aux stacks Docker (auto-discovery)
- app-nginx-proxy-manager — Si vous voulez une GUI
- app-haproxy — Pour la haute performance
Comparaison Caddy vs Traefik
| Critère | Caddy | Traefik |
|---|---|---|
| HTTPS auto | ✅ Natif | ✅ Natif (via Let's Encrypt) |
| Config | Caddyfile (très simple) | Labels Docker ou YAML |
| Auto-discovery Docker | ❌ Manuel | ✅ Natif |
| Load balancing | ✅ | ✅ |
| HTTP/3 | ✅ | ✅ |
| Plugins | ✅ (build custom) | ✅ (catalogue) |
| API dynamique | ✅ | ✅ |
Verdict :
- Caddy pour un setup simple (peu de services, config stable)
- Traefik pour des stacks Docker complexes (auto-discovery, services qui apparaissent/disparaissent)
Propriétaires (ce que Caddy remplace)
- Cloudflare Pro (avec Workers)
- AWS CloudFront (en partie)
- Cloudflare Tunnel + Cloudflare Access (combo Caddy + Authentik)
🔐 Sécurité
- HTTPS par défaut : aucun risque d'oublier de configurer TLS
- Headers de sécurité automatiques (HSTS, X-Frame-Options)
- Rate limiting (plugin disponible)
- OCSP Stapling activé par défaut
- Certificate Transparency log
📚 Ressources
Pages Liées
- cat-reverse-proxy — Catégorie Reverse Proxy
- app-traefik — Concurrent principal
- tls-https — HTTPS / TLS
- comparatif-reverse-proxy — Comparaison détaillée
- securisation-home-lab — Sécurité