Maintenance
Renouvellement SSL
Les certificats Let's Encrypt sont renouvelés automatiquement :
- Traefik gère le renouvellement ACME pour les 4 domaines DuckDNS
- Tâche Celery #50 (
rgz.ssl.renew) vérifie daily à 06:00 UTC
bash
# Vérifier expiration des certs
echo | openssl s_client -connect api-rgz.duckdns.org:443 2>/dev/null \
| openssl x509 -noout -dates
# Forcer renouvellement (si besoin)
docker exec rgz-certbot certbot renew --quiet
docker exec rgz-nginx nginx -s reloadMise à Jour Docker Images
bash
# Mettre à jour les images officielles
docker compose -f docker-compose.core.yml pull
docker compose -f docker-compose.monitoring.yml pull
# Rebuilder et redémarrer (sans downtime prolongé)
docker compose -f docker-compose.core.yml up -d --buildGestion des Logs Docker
Logs sans limite = crash disque
Par défaut Docker n'a aucune limite sur les logs (LL#27). Vérifier que /etc/docker/daemon.json contient les limites.
bash
# Vérifier la config Docker daemon
cat /etc/docker/daemon.json
# Attendu: {"log-opts": {"max-size": "10m", "max-file": "3"}}
# Vérifier l'espace disque utilisé par les logs
sudo du -sh /var/lib/docker/containers/*/\*-json.log | sort -rh | head -5
# Tronquer un log trop grand (urgence)
sudo truncate -s 0 /var/lib/docker/containers/<id>/<id>-json.logNettoyage Docker
bash
# Supprimer images inutilisées (pruner avec précaution)
docker image prune -f
# Supprimer volumes orphelins (ATTENTION : vérifier avant)
docker volume ls
docker volume prune -f
# Nettoyage complet (DANGER : ne jamais en prod sans vérif)
# docker system prune -afSmoke Test Post-Maintenance
bash
# Tester tous les services après maintenance
bash scripts/ops/smoke-test.sh
# Ou test manuel minimal
curl -sf http://127.0.0.1:8000/health | jq .
docker exec rgz-radius radtest canary canary_pass 127.0.0.1 0 $RADIUS_SECRET
dig @127.0.0.1 google.com +short
docker exec rgz-redis redis-cli -a $REDIS_PASSWORD pingDernière mise à jour: 2026-02-21