Démarrage de la Stack
Prérequis
- Docker 29+ et Docker Compose v2
- Fichier
.envconfiguré (copier.env.example) - Ports libres : 8000, 5432, 6379, 1812/udp, 53/udp, 67/udp, 9090, 3000, 5601
Premier Démarrage
bash
# 1. Initialisation (une seule fois)
bash scripts/ops/init.sh
# 2. Démarrage stack core
bash scripts/ops/start.sh
# 3. Vérification
bash scripts/ops/status.shDémarrage Normal
bash
# Stack core (14 services)
docker compose -f docker-compose.core.yml up -d
# Stack monitoring (7 services)
docker compose -f docker-compose.monitoring.yml up -dOrdre de Démarrage
Ordre critique
Les services démarrent dans cet ordre pour respecter les dépendances :
Phase 1 (fondations): rgz-db, rgz-redis
Phase 2 (sécurité): rgz-radius, rgz-dns, rgz-kea
Phase 3 (application): rgz-api, rgz-beat
Phase 4 (réseau): rgz-gateway, rgz-ids
Phase 5 (frontend): rgz-web, rgz-portal, rgz-nginxVérification Post-Démarrage
bash
# État de tous les services
docker compose -f docker-compose.core.yml ps
# Health check API
curl -sf http://127.0.0.1:8000/health | jq .
# Attendu: {"status": "ok", "db": "ok", "redis": "ok"}
# Vérification HTTPS (4 domaines)
for domain in api-rgz admin-rgz access-rgz grafana-rgz; do
curl -sf https://${domain}.duckdns.org/health > /dev/null \
&& echo "${domain}: ✅" || echo "${domain}: ❌"
doneTroubleshooting Démarrage
| Problème | Cause | Solution |
|---|---|---|
| Container en restart loop | Logs → erreur config | docker logs [service] --tail 50 |
| Port déjà utilisé | Conflit processus hôte | netstat -tlnp | grep [port] |
| Gateway casse les ports | flush ruleset nftables (LL#40) | Redémarrer Docker avant la gateway |
| rgz-radius timeout | ${VAR} non expandé (LL#44) | Vérifier entrypoint.sh avec envsubst |
nftables et Docker
Ne JAMAIS utiliser flush ruleset dans les règles nftables. Cela détruit les chains Docker et rompt tous les port mappings. Utiliser nft delete table inet rgz_filter à la place.
Dernière mise à jour: 2026-02-21