Files
Docker/run.sh
2026-03-05 16:25:12 +01:00

79 lines
2.2 KiB
Bash

#!/usr/bin/env bash
set -euo pipefail
BASE_URL="https://git.thomasmlg.fr/thomas/Docker/raw/branch/release"
WORKDIR="/opt/lxc-updater"
LOG_ROOT="/var/log/lxc-updater-TM"
DATE="$(date +%F)"
TS="$(date +%H%M%S)"
LOG_DIR="${LOG_ROOT}/${DATE}"
RUN_LOG="${LOG_DIR}/lxc-updater-run.log"
RUN_LOG_ARCHIVE="${LOG_DIR}/lxc-updater-run-${TS}.log"
mkdir -p "$WORKDIR" "$LOG_DIR"
: > "$RUN_LOG"
: > "$RUN_LOG_ARCHIVE"
log() {
echo "$1"
echo "$1" >>"$RUN_LOG"
echo "$1" >>"$RUN_LOG_ARCHIVE"
}
# ------------------------------------------------
# Téléchargement des scripts
# ------------------------------------------------
clear
echo "🧰 LXC Updater (TM)"
echo "🖥️ Conteneur : $(hostname)"
echo "📅 Date : ${DATE} 🕒 Heure : ${TS}"
echo ""
echo "⬇️ Téléchargement des scripts..."
curl -fsSL "${BASE_URL}/detect.sh" -o "${WORKDIR}/detect.sh" >>"$RUN_LOG" 2>&1
curl -fsSL "${BASE_URL}/update.sh" -o "${WORKDIR}/update.sh" >>"$RUN_LOG" 2>&1
chmod +x "${WORKDIR}/detect.sh" "${WORKDIR}/update.sh"
# ------------------------------------------------
# Détection silencieuse
# ------------------------------------------------
MODE="$("${WORKDIR}/detect.sh")"
# ------------------------------------------------
# ÉTAPE 1 — Mise à jour du système
# ------------------------------------------------
clear
echo "━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━"
echo "📦 Mise à jour du système"
echo "━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━"
echo ""
"${WORKDIR}/update.sh" "${MODE}" system
sleep 2
# ------------------------------------------------
# ÉTAPE 2 — Mise à jour Docker
# ------------------------------------------------
clear
echo "━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━"
echo "🐳 Mise à jour des conteneurs Docker"
echo "━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━"
echo ""
"${WORKDIR}/update.sh" "${MODE}" docker
# ------------------------------------------------
# Fin
# ------------------------------------------------
echo ""
echo "🧾 Log run : ${RUN_LOG}"
echo "🗃️ Archive run : ${RUN_LOG_ARCHIVE}"
echo "🎉 Terminé"