Skip to content

Migration Nginx → Caddy — LXC 103

Date : 2026-05-05
Périmètre : Remplacement du reverse proxy Nginx + Certbot (NPM) par Caddy sur LXC 103


Résultat

Migration complète. Caddy tourne sur LXC 103 et sert 28 domaines HTTPS avec certificats Let's Encrypt auto-émis.


Changements effectués

Stack Docker (LXC 103)

  • Supprimé : containers nginx, certbot
  • Ajouté : container caddy:2-alpine
  • Config : /root/docker-compose/caddy/Caddyfile — un fichier unique remplace tous les conf.d/ + snippets nginx
  • Montages bind : caddy/data/, caddy/config/, caddy/logs/, caddy/html/ (contenu statique copié depuis nginx/html/)
  • Propriétaire des dossiers bind : UID 100000:100000 (requis pour LXC non-privilégié)

DNS Docker (LXC 103)

  • Créé /etc/docker/daemon.json avec {"dns": ["1.1.1.1", "8.8.8.8"]}
  • Cause : la Freebox (192.168.1.254) ne répond pas aux requêtes DNS depuis LXC 103 ; le daemon Docker utilisait ce serveur par défaut, bloquant la résolution ACME

Certificats

  • 28 certificats émis via HTTP-01 (Let's Encrypt) au démarrage
  • 2 domaines exclus (NXDOMAIN) : wpserver.nliautaud.fr, wpserver.alicesuretcanale.fr

Backup script

  • /usr/local/bin/backup-docker-configs.sh : remplacé npm/data/ par caddy/Caddyfile + caddy/data/

Problèmes rencontrés

Problème Cause Résolution
mkdir /data/caddy: permission denied Dossiers bind owned root (UID 0), LXC mappe root→100000 chown -R 100000:100000 caddy/{data,config,logs,html}
127.0.0.11: server misbehaving DNS Docker relayait vers Freebox inaccessible /etc/docker/daemon.json avec DNS publics
Image non pulable depuis LXC 103 Docker Hub inaccessible depuis LXC 103 Pull sur LXC 101, docker save \| pct push, docker load
Authelia crash-loop Tentative d'ajout server.trusted_proxies supprimé en v4.38+ Config Authelia annulée (clé invalide)
Healthcheck (unhealthy) localhost résout IPv6 (::1), admin API sur IPv4 seulement URL healthcheck : http://127.0.0.1:2019/config/

État final

Container État
caddy healthy
authelia healthy
wireguard up
portainer-agent up

Certs valides jusqu'en août 2026 (renouvellement automatique Caddy).