Refactor project documentation and add --check mode

Rebrand from "Docker Scripts" to "Docker Stack Template" and restructure
the README as a step-by-step guide. Add `--check` option to `setup.sh`
for validating system prerequisites with configurable `CMD_DEPEND`.
This commit is contained in:
2026-06-26 16:47:47 -04:00
parent a2e466c074
commit 2d04b90b1a
3 changed files with 571 additions and 378 deletions
+36 -6
View File
@@ -47,6 +47,7 @@ usage() {
Usage: $0 [OPTIONS]
Options :
--check Vérifier les prérequis uniquement (sans installer)
--force Installation sans confirmation
--update Mettre à jour les scripts existants (git pull)
--dry-run Affiche ce qui serait fait sans rien installer
@@ -56,19 +57,26 @@ Variables d'environnement :
GIT_REPO URL du dépôt Git (défaut: $GIT_REPO)
SCRIPTS_DIR Dossier d'installation (défaut: /opt/docker-scripts)
BRANCH Branche Git à utiliser (défaut: main)
CMD_DEPEND Liste des prérequis (défaut: git,docker,curl,tar,gzip,crontab)
EOF
exit 0
}
# ─── Vérification des prérequis système ─────────────────────────────────────
check_system_prerequisites() {
step "Étape 1/6 : Vérification des prérequis système"
step "Vérification des prérequis système"
local missing=0
info "Vérification des commandes requises..."
# Lire la liste depuis la configuration (défaut: git,docker,curl,tar,gzip,crontab)
CMD_DEPEND="${CMD_DEPEND:-git,docker,curl,tar,gzip,crontab}"
IFS=',' read -ra CMDS <<< "$CMD_DEPEND"
for cmd in git docker curl tar gzip crontab; do
info "Vérification des commandes requises (CMD_DEPEND=$CMD_DEPEND)..."
for cmd in "${CMDS[@]}"; do
# Trim whitespace
cmd="$(echo "$cmd" | xargs)"
if command -v "$cmd" &>/dev/null; then
local version=""
case "$cmd" in
@@ -83,7 +91,7 @@ check_system_prerequisites() {
fi
done
# Vérifier docker compose
# Vérifier docker compose (toujours pertinent, pas dans CMD_DEPEND)
if docker compose version &>/dev/null; then
ok "docker compose (plugin)"
elif command -v docker-compose &>/dev/null; then
@@ -103,7 +111,7 @@ check_system_prerequisites() {
if [[ $missing -gt 0 ]]; then
echo ""
err "$missing prérequis manquants. Installez-les avant de continuer."
exit 1
return 1
fi
return 0
@@ -364,9 +372,11 @@ do_update() {
FORCE=false
DRY_RUN=false
UPDATE=false
CHECK=false
for arg in "$@"; do
case "$arg" in
--check) CHECK=true ;;
--force) FORCE=true ;;
--dry-run) DRY_RUN=true ;;
--update) UPDATE=true ;;
@@ -385,6 +395,26 @@ info "Dépôt Git : $GIT_REPO"
info "Branche : $BRANCH"
echo ""
# ─── Mode vérification (--check) ────────────────────────────────────────────
if [[ "$CHECK" == "true" ]]; then
echo ""
echo "🔍 VÉRIFICATION DES PRÉREQUIS"
echo ""
if check_system_prerequisites; then
echo ""
ok "Tous les prérequis sont satisfaits. Vous pouvez lancer l'installation :"
echo ""
echo " bash $0"
echo " bash $0 --force (sans confirmation)"
echo ""
exit 0
else
echo ""
err "Corrigez les prérequis manquants avant de lancer l'installation."
exit 1
fi
fi
# ─── Mode mise à jour ──────────────────────────────────────────────────────
if [[ "$UPDATE" == "true" ]]; then
do_update
@@ -396,7 +426,7 @@ if [[ "$DRY_RUN" == "true" ]]; then
echo ""
echo "Actions qui seraient exécutées :"
echo ""
echo " 1. Vérifier les prérequis (git, docker, curl, tar, gzip, crontab)"
echo " 1. Vérifier les prérequis (CMD_DEPEND=${CMD_DEPEND:-git,docker,curl,tar,gzip,crontab})"
echo " 2. Cloner/MàJ $GIT_REPO → $SCRIPTS_DIR"
echo " 3. Rendre les scripts exécutables"
echo " 4. Créer les dossiers de logs"